WO2023013743A1 - 保持パラメータ推定装置及び保持パラメータ推定方法 - Google Patents

保持パラメータ推定装置及び保持パラメータ推定方法 Download PDF

Info

Publication number
WO2023013743A1
WO2023013743A1 PCT/JP2022/030016 JP2022030016W WO2023013743A1 WO 2023013743 A1 WO2023013743 A1 WO 2023013743A1 JP 2022030016 W JP2022030016 W JP 2022030016W WO 2023013743 A1 WO2023013743 A1 WO 2023013743A1
Authority
WO
WIPO (PCT)
Prior art keywords
holding
end effector
held
area
control unit
Prior art date
Application number
PCT/JP2022/030016
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
Application filed by 京セラ株式会社 filed Critical 京セラ株式会社
Priority to JP2023540418A priority Critical patent/JPWO2023013743A1/ja
Priority to CN202280054041.1A priority patent/CN117794709A/zh
Priority to EP22853161.2A priority patent/EP4382266A1/en
Publication of WO2023013743A1 publication Critical patent/WO2023013743A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices

Definitions

  • the present disclosure relates to a retention parameter estimation device and a retention parameter estimation method.
  • Patent Document 1 Japanese Patent Document 1
  • a retention parameter estimator comprises: an acquisition unit that acquires information about an end effector having a holding part that holds an object to be held with an arbitrary opening width, holding object information that indicates the holding object, and depth data related to the holding object; obtaining an end effector model indicating a region where the end effector may exist based on the information; and a control unit for estimating the opening width of the holding unit.
  • the retention parameter estimation method includes: Acquiring information about an end effector having a holding portion that holds an object to be held, holding object information indicating the object to be held, and depth data about the object to be held; Acquiring an end effector model indicating a region where the end effector may exist based on the information; Based on the end effector model, the holding target information, and the depth data, an opening width of the holding section is estimated for holding the holding target.
  • FIG. 1 is a schematic diagram showing a configuration example of a robot control system according to an embodiment
  • FIG. FIG. 4 is a side view showing an example of holding an object to be held by an end effector
  • 1 is a block diagram showing a configuration example of a robot control system according to an embodiment
  • FIG. FIG. 10 is a diagram showing an example of a mask image representing the outer shape of a holding object on a plane that holds the holding object
  • FIG. 10 is a diagram showing a model representing finger opening widths of an end effector model in which a holding portion has two fingers
  • FIG. 10 is a diagram showing a model representing a finger stroke of an end effector model in which the holding part has two fingers
  • FIG. 10 is a diagram showing an overall model of an end effector model in which a holding part has two fingers, and a finger opening width and a stroke are combined;
  • FIG. 10 is a diagram showing a model representing finger opening widths of an end effector model in which a holding portion has three fingers;
  • FIG. 11 shows a first model representing the finger stroke of an end effector model in which the retainer has two fingers;
  • FIG. 11 shows a second model representing the stroke of the fingers of the end effector model in which the retainer has two fingers;
  • It is a figure which shows an example of an approach map.
  • FIG. 10 is a diagram showing a technique for generating a second area of the approach map;
  • FIG. 11 is a diagram in which an object area and an obstacle area are arranged in a second area while an approach map is being created.
  • FIG. 8 is a diagram obtained by subjecting the approach map of FIG. 7 to expansion processing;
  • FIG. 10 is a diagram showing an example of positions at which an end effector model is projected onto an approach map;
  • FIG. 10 is a diagram showing positions where an end effector model can be projected and positions where it cannot be projected on an approach map;
  • FIG. 5 is a diagram for explaining a method of estimating a possible area based on projection of an end effector model onto an approach map;
  • FIG. 10 is a diagram showing the center position of the possible existence area corresponding to each holding unit;
  • FIG. 10 is an external view of a holding object having a special shape
  • 16 is a diagram for explaining that the center position of the possible existence area based on the projection of the end effector model onto the approach map created for the object to be protected in FIG. 15 is off the movable straight line
  • FIG. FIG. 10 is a diagram illustrating a method of creating an opening width model based on estimated opening widths; It is a figure which shows an example of a surrounding environment map.
  • FIG. 10 is a diagram showing an object map representing the center of a held object;
  • FIG. 10 is a diagram showing an object map representing the priority of holding positions specified by a user; It is a figure which shows an example of a contact map.
  • a robot control system 100 includes a robot 2, a camera 4, a robot control device 110, and a holding parameter estimation device 10.
  • the robot 2 holds the object 80 to be held by the end effector 2B and performs the work.
  • a robot controller 110 controls the robot 2 .
  • the holding parameter estimating device 10 estimates the opening width of the end effector 2B described later and the contact position when holding the object 80 as holding positions, and outputs them to the robot control device 110. do.
  • the robot 2 holds the object 80 positioned on the work start table 6 . That is, the robot control device 110 controls the robot 2 to hold the object 80 on the work start table 6 .
  • the robot 2 may move the object 80 to be held from the work start table 6 to the work target table 7 .
  • the holding target 80 is also called a work target.
  • the robot 2 operates inside the operating range 5 .
  • the robot 2 has an arm 2A and an end effector 2B.
  • the arm 2A may be configured as, for example, a 6-axis or 7-axis vertical articulated robot.
  • the arm 2A may be configured as a 3-axis or 4-axis horizontal articulated robot or SCARA robot.
  • the arm 2A may be configured as a 2-axis or 3-axis Cartesian robot.
  • Arm 2A may be configured as a parallel link robot or the like.
  • the number of shafts forming the arm 2A is not limited to the illustrated one.
  • the robot 2 has an arm 2A connected by a plurality of joints and operates by driving the joints.
  • the end effector 2B may include, for example, a gripper configured to hold the object 80 with an arbitrary opening width.
  • the gripper has at least one holding part. Each holding part may be configured to be movable along a predetermined direction.
  • the holding section may contact the holding object 80 when holding the holding object 80 .
  • the retainer may have one or more joints.
  • the holding part may be, for example, two or more fingers that sandwich and hold the object 80 to be held.
  • the fingers may be formed by members movable relative to each other.
  • the holding section may be at least one suction section that holds the holding target 80 by suction, or a scooping hand configured to scoop the holding target 80 .
  • the end effector 2B is not limited to these examples, and may be configured to perform various other operations. In the configuration illustrated in FIG. 1, the end effector 2B is assumed to include a gripper.
  • the robot 2 can control the position of the end effector 2B by operating the arm 2A.
  • the end effector 2B may have an axis that serves as a reference for the direction in which it acts on the object to be held 80 . If the end effector 2B has an axis, the robot 2 can control the direction of the axis of the end effector 2B by operating the arm 2A.
  • the robot 2 controls the start and end of the action of the end effector 2B acting on the object 80 to be held.
  • the robot 2 can move or process the holding object 80 by controlling the position of the end effector 2B or the direction of the axis of the end effector 2B and controlling the operation of the end effector 2B. In the configuration illustrated in FIG.
  • the robot 2 causes the end effector 2B to hold the object 80 on the work start table 6 and moves the end effector 2B to the work target table 7 .
  • the robot 2 causes the end effector 2B to release the held object 80 on the work target table 7 . By doing so, the robot 2 can move the object 80 to be held from the work start table 6 to the work target table 7 .
  • the robot control system 100 is assumed to have a camera 4 attached to the end effector 2B of the robot 2 .
  • the camera 4 photographs the held object 80 .
  • the camera 4 may photograph the held object 80 from the direction in which the end effector 2B holds the held object 80, for example.
  • An image obtained by capturing the holding object 80 is also referred to as a holding target image.
  • the camera 4 also includes a depth sensor and is configured to be able to acquire depth data of the held object 80 .
  • Depth data is data about the distance in each direction within the angle of view range of the depth sensor. More specifically, the depth data can also be said to be information about the distance from the camera 4 to the measurement point.
  • An image captured by the camera 4 may include monochrome luminance information, or may include luminance information of each color represented by RGB (Red, Green, Blue) or the like.
  • the number of cameras 4 is not limited to one, and may be two or more.
  • the camera 4 may also photograph other objects located within a predetermined range from the object to be held 80 as obstacles, and acquire depth data of the obstacles.
  • the camera 4 is not limited to being attached to the end effector 2B, and may be provided at any position where the held object 80 can be photographed.
  • the image to be held may be combined based on the image captured by the camera 4 attached to the structure.
  • the image to be held may be synthesized by image conversion based on the relative position and orientation of the end effector 2B with respect to the mounting position and orientation of the camera 4 .
  • images to be retained may be capable of being generated from CAD and drawing data.
  • the retention parameter estimation device 10 includes a control section 12 and an interface (acquisition section) 14 .
  • the control unit 12 may include at least one processor to provide control and processing power to perform various functions.
  • the processor may execute programs that implement various functions of the controller 12 .
  • a processor may be implemented as a single integrated circuit.
  • An integrated circuit is also called an IC (Integrated Circuit).
  • a processor may be implemented as a plurality of communicatively coupled integrated and discrete circuits. Processors may be implemented based on various other known technologies.
  • the control unit 12 may include a storage unit.
  • the storage unit may include an electromagnetic storage medium such as a magnetic disk, or may include a memory such as a semiconductor memory or a magnetic memory.
  • the storage unit stores various information.
  • the storage unit stores programs and the like executed by the control unit 12 .
  • the storage unit may be configured as a non-transitory readable medium.
  • the storage section may function as a work memory for the control section 12 . At least part of the storage unit may be configured separately from the control unit 12 .
  • the control unit 12 estimates the opening width when part of the end effector is displaced in order to cause the robot 2 to hold the object 80 to be held.
  • the opening width is the position of the portion of the holding portion that contacts the holding object 80 when held by the holding portion and is opened in a predetermined direction with respect to the reference position.
  • the reference position is the most closed position in a predetermined movable direction.
  • the most closed position is, for example, the displaceable end on the direction side where the object to be held can be sucked in the predetermined direction in the configuration having at least one holding portion.
  • the most closed position is, for example, the displaceable end toward the other holding part in a configuration with a plurality of holding parts.
  • the estimation of the opening width is based on the end effector model, retention target information, and depth data, which will be described later.
  • the hold target information is information indicating the position of the hold target at the time of imaging by the camera, and is, for example, a hold target image as information.
  • An image to be held in the following description is a specific description of the information to be held, and may include information that is not limited to an image.
  • the control unit 12 may further estimate the holding position at which the robot 2 holds the object 80 based on the information or data acquired by the interface 14 .
  • the interface 14 acquires information or data regarding the held object 80 and the like from an external device.
  • the interface 14 may include an input device that receives input of information, data, or the like from the user.
  • the input device may include, for example, a touch panel or touch sensor, or a pointing device such as a mouse.
  • the input device may be configured including physical keys.
  • the input device may include an audio input device such as a microphone.
  • the interface 14 acquires, for example, a holding target image obtained by capturing the holding target 80 from the camera 4 and depth data associated with the holding target image.
  • the interface 14 obtains information about the end effector 2B from the robot 2 or an input device, for example.
  • the interface 14 may also output information or data to an external device.
  • the interface 14 may output the opening width of the end effector 2B estimated by the control section 12 .
  • the interface 14 may output the holding position to hold the holding object 80 estimated by the control unit 12 .
  • the interface 14 may output information or data so that the user recognizes it.
  • the interface 14 may include an output device that outputs information, data, or the like to the user.
  • the interface 14 may present an estimation result to the user and receive an instruction from the user regarding whether or not to execute the control when the robot is controlled based on the estimated opening width, for example, using the output device.
  • the user's instruction may be acquired by the above input device.
  • the holding parameter estimation device 10 may output the estimated opening width and the like to the robot control device 110 without requesting the user's instruction based on the estimation result of the estimated opening width.
  • the output device may include, for example, a display device that outputs visual information such as images or characters or graphics.
  • the display device may include, for example, an LCD (Liquid Crystal Display), an organic EL (Electro-Luminescence) display or an inorganic EL display, a PDP (Plasma Display Panel), and the like.
  • the display device is not limited to these displays, and may be configured to include other various types of displays.
  • the display device may include light emitting devices such as LEDs (Light Emission Diodes) and LDs (Laser Diodes).
  • the display device may be configured including other various devices.
  • the output device may include, for example, an audio output device such as a speaker that outputs auditory information such as sound. Output devices are not limited to these examples, and may include other various devices.
  • the interface 14 may be configured including a communication device configured to be capable of wired or wireless communication.
  • a communication device may be configured to be able to communicate with communication schemes based on various communication standards.
  • a communication device may be configured according to known communication technologies.
  • the robot control device 110 may acquire information specifying the opening width from the retention parameter estimation device 10 .
  • the robot control device 110 may control the robot 2 to open the end effector 2B to the estimated opening width when a part of the end effector 2B is displaced to an approach area described later.
  • the robot control device 110 may further acquire information specifying the holding position from the holding parameter estimation device 10 .
  • the robot control device 110 may control the robot 2 so that the robot 2 holds the holding object 80 at the estimated holding position.
  • the robot controller 110 may be configured with at least one processor to provide control and processing power to perform various functions.
  • Each component of the robot control device 110 may be configured including at least one processor.
  • a plurality of components among the components of the robot control device 110 may be realized by one processor.
  • the entire robot controller 110 may be implemented with one processor.
  • the processor may execute programs that implement various functions of the robot controller 110 .
  • the processor may be configured identically or similarly to the processor used in retention parameter estimator 10 .
  • the robot control device 110 may include a storage unit.
  • the storage unit may be configured identically or similarly to the storage unit used in the retention parameter estimation device 10 .
  • the robot control device 110 may include the holding parameter estimation device 10 .
  • the robot control device 110 and the holding parameter estimation device 10 may be configured separately.
  • the robot control system 100 controls the robot 2 by the robot control device 110 to cause the robot 2 to perform work.
  • the work to be executed by the robot 2 includes an action for holding the object 80 to be held.
  • the work to be performed by the robot 2 may include the action of holding the object 80 to be held.
  • the holding parameter estimation device 10 estimates the opening width when the end effector 2B is displaced to the holding object 80.
  • the robot controller 110 may control the robot 2 to open the end effector 2B to the estimated opening width.
  • the holding parameter estimation device 10 may further estimate the holding position of the holding target 80 by the robot 2 .
  • the robot control device 110 may control the robot 2 so that the robot 2 holds the holding object 80 at the holding position.
  • the control portion 12 sets a combination of positions at which the holding portion contacts the holding object 80 when the holding portion grips the holding object 80 as a holding position. can be estimated as In a configuration in which the end effector 2B has a suction portion as a holding portion, the control portion 12 estimates the position at which the suction portion contacts the holding object 80 when the end effector 2B sucks the holding object 80 as the holding position. good.
  • the retention parameter estimation device 10 acquires a retention target image obtained by capturing the retention target 80 from the camera 4 and the depth data of the retention target 80 via the interface 14 .
  • the control unit 12 recognizes the outer shape and position of the object to be held 80 based on the image to be held and the depth data. As illustrated in FIG. 4, the control unit 12 generates a mask image 20 representing the recognition result of the held object 80 when the held object 80 is viewed from the camera 4 attached to the end effector 2B. .
  • the mask image 20 includes a window 22 representing the area where the object to be held 80 exists when viewed from the camera 4, and a mask 24 representing the other area. In FIG. 4, window 22 is represented as a white area. In FIG.
  • the mask 24 is represented as a region hatched with upward slanted lines.
  • the portion of the mask 24 in the mask image 20 is shown as a hatched area for convenience of description in the drawing, it may be shown as a black area in an actual embodiment.
  • the coloring of portions of window 22 and mask 24 may be reversed.
  • the coloring and hatching of portions of window 22 and mask 24, respectively may be reversed.
  • the control unit 12 acquires information about the end effector 2B via the interface 14.
  • the information about the end effector 2B includes, for example, information specifying the maximum distance between gripped holding portions, the thickness of the holding portion, the width of the holding portion, and the like.
  • the thickness of the holding portion is the length in the opening/closing direction of the holding portion.
  • the width of the holding portion is the length in the direction perpendicular to the opening/closing direction of the holding portion.
  • the control unit 12 may generate the end effector model 30 based on information regarding the end effector 2B.
  • the end effector model 30 shows the area where the end effector 2B can exist.
  • the control unit 12 may acquire the end effector model 30 as information on the end effector 2B via the interface 14 .
  • An end effector model 30 with a holding portion having two fingers includes a retainer model that specifies an out-of-operation range 38 representing ranges other than 32 .
  • the end effector model 30 has a range in which the holding portions of the gripper are positioned at predetermined intervals, as shown in FIG. 6A.
  • a retainer model may be included that identifies retainer positions 32 to represent and an out-of-operation range 38 to represent areas outside of retainer positions 32 . That is, the holding part model represents the opening width of the holding part of the gripper.
  • the retainer position 32 may represent the range over which the retainers are positioned at maximum spacing.
  • the holder model represents the maximum opening width of the holder. It is assumed that the holder model shown in FIGS. 5A and 6A represents the maximum opening width of the holder.
  • the retainer positions 32 are represented as white areas.
  • the out-of-operation range 38 is represented as a hatched area with upward slanting lines. Note that the out-of-operation range 38 is represented as a hatched area for convenience of description in the drawing, but may be represented as a black area in an actual embodiment.
  • the coloring of the retainer position 32 and the portion of the out-of-motion area 38 may be reversed.
  • the coloring and hatching of the retainer location 32 and portions of the out-of-operation area 38, respectively, may be reversed.
  • the end effector model 30 with a two-finger holding portion includes a stroke model that specifies a stroke range 34 representing the range over which the holding portion of the gripper operates, as shown in FIG. 5B.
  • the end effector model 30 defines a stroke range 34 representing the range in which the holding portion of the gripper operates, as shown in FIG. 6B or 6C. May include a stroke model to specify.
  • a stroke range 34 is represented as a white area.
  • the out-of-operation range 38 is represented as a hatched area with upward slanting lines.
  • out-of-operation range 38 is represented as a hatched area for convenience of description in the drawing, but may be represented as a black area in an actual embodiment.
  • the coloring of portions of stroke range 34 and out-of-motion range 38 may be reversed.
  • the coloring and hatching of portions of the stroke range 34 and out-of-motion range 38, respectively, may be reversed.
  • the end effector model 30, as shown in FIG. 5C, includes an overall model combining the holding part model of FIG. 5A and the stroke model of FIG. 5B.
  • the global model specifies the operating range 36 of the retainer.
  • the retainer operating range 36 includes the retainer position 32 .
  • the holding portion portion of the operating range 36 of the holding portion is shown by a dashed line, but it may not be distinguished in an actual embodiment.
  • the end effector model 30 represents a range in which the holding portions are positioned with the maximum spacing (maximum opening width), but the present invention is not limited to this.
  • the end effector model 30 may represent a range in which the holding portions of the gripper are positioned at arbitrary intervals (predetermined intervals). For example, the end effector model 30 may represent the interval between the holding portions of the gripper according to the size of the object to be gripped by the end effector 2B.
  • the control unit 12 may generate only the overall model as the end effector model 30.
  • the holding portion position 32 may be identified by associating information specifying the holding portion position 32 with the overall model.
  • the information specifying the holding portion position 32 may include numerical values representing feature points of the holding portion.
  • the end effector model 30 is configured as a model that defines the range of interference with other objects when the suction section suctions the holding target 80 .
  • the control unit 12 sets the height at which the holding object 80 is held based on the depth data of the holding object 80 . Specifically, as illustrated in FIG. 2, the control unit 12 sets the height from the work start table 6 as the position for holding the object 80 placed on the work start table 6. .
  • a holding point 82 represents a position where the object 80 to be held is sandwiched and held by the holding portions of the end effector 2B.
  • H represents the height of the holding point 82 from the work starting table 6 .
  • the control unit 12 sets H as the height for holding the object 80 to be held. Based on the depth data of the holding object 80, the control unit 12 sets the holding height of the holding object 80 to a value smaller than the distance from the work start table 6 to the highest point of the holding object 80. .
  • the control unit 12 may set the height at which the object to be held 80 is held to a value approximately half the height of the object to be held 80 .
  • the control unit 12 may generate the mask image 20 based on the height at which the object to be held 80 is held and the depth data of the object to be held 80 . Specifically, the control unit 12 may generate the mask image 20 with the cross-sectional shape of the holding target 80 as the plane of the height at which the holding target 80 is held as the window 22 .
  • the control unit 12 may create an approach map for specifying the opening width when part of the end effector 2B is displaced to hold the object 80 to be held.
  • the control unit 12 may create an approach map based on the image to be held and the depth data.
  • the approach map 90 may indicate at least the approach area 91.
  • the approach map 90 may further show an object area 92 , a non-approach area 93 and a first area 94 .
  • the approach region 91 is a region in which the end effector 2B can be opened without interfering with objects other than the held object 80 at the height at which the held object 80 is held.
  • the target object area 92 is the existence area of the holding target object 80 .
  • the non-approach area 93 is an area outside the second area described later, and is the entire area of the approach map 90 other than the approach area 91 , the object area 92 and the first area 94 .
  • the first area 94 is an area facing the opposite side of the object to be held 80 from the outer edge facing the object to be held 80 in the presence area of an object other than the object to be held 80 , in other words, an obstacle.
  • the approach area 91 is represented as a white area.
  • An object area 92, a non-approach area 93, and a first area 94 are represented as areas hatched with upward slanting lines.
  • the object area 92, the non-approach area 93, and the first area 94 are represented as hatched areas for convenience of drawing description, but may be represented as black areas in an actual embodiment. .
  • the coloring of portions of the approach region 91, object region 92, non-approach region 93, and first region 94 may be reversed.
  • the coloring and hatching of the approach area 91 and portions of the object area 92, non-approach area 93, and first area 94, respectively may be reversed.
  • the control unit 12 may generate a second region based on the mask image 20 in order to create the approach map 90.
  • the second area is an area in which the end effector 2B can be opened around the object 80 to be held without interfering with the object 80 by focusing only on the object 80 to be held.
  • the second region may be the region having the maximum opening width of the holding portion of the end effector 2B from the outer edge of the object 80 to be held.
  • the control unit 12 may generate the second region by performing a convolution of the end effector model 30 on the mask image 20 . More specifically, the control unit 12 controls the movement of the holding part so that at least a part of the movement range 36 of the holding part specified by the end effector model 30 overlaps the window 22 included in the mask image 20 .
  • Range 36 may be moved.
  • the rectangle representing the retainer range of motion 36 may be rotated and positioned at various angles, for example, such that at least a portion of the rectangle overlaps the upper left corner point of the window 22 .
  • the control unit 12 may generate, as the second area, an area through which the movement range 36 of the holding section passes when the movement range 36 of the holding section is moved.
  • the trajectory drawn by the point farthest from window 22 as movement range 36 of the holding part moves is represented as boundary 95 of the second region.
  • a boundary 95 is represented by a dashed line.
  • the control unit 12 generates an object area 92 in the generated second area 96 based on the depth data of the holding object 80 .
  • the control unit 12 generates a range in which the holding target 80 exists at a position higher than the height at which the holding target 80 is held as the target object region 92 .
  • the control unit 12 arranges an obstacle area 97 in the generated second area 96 based on the depth data of an object other than the object to be held 80 .
  • the control unit 12 generates, as an obstacle area 97 , a range in which an object other than the holding object 80 exists at a position higher than the holding object 80 .
  • the control unit 12 generates a first area 94 based on the target object area 92 and the obstacle area 97 .
  • the first area 94 is an area that includes the obstacle area 97 and extends outside the obstacle area 97. As described above, the first area 94 extends from the outer edge of the obstacle area 97 facing the object 80 to be held. is the region facing the opposite side.
  • the control unit 12 calculates a straight line that passes through the center C92 of the object area 92 and overlaps the obstacle area 97 .
  • the control unit 12 rotates the straight line about the center C92 to generate a first area 94 as a trajectory through which line segments outside the obstacle area 97 of the straight line pass.
  • control unit 12 draws two straight lines SL that pass through the center C92 of the object area 92 and intersect the outer edge of the obstacle area 97 at one point. As shown in FIGS. 7 and 9 , the control unit 12 sets the area surrounded by the two straight lines SL, the outer edge of the second area 96 , and the outer edge of the obstacle area 97 on the side of the object area 92 as the first area 94 .
  • the control unit 12 generates the approach area 91 by excluding the object area 92 and the first area 94 from the second area 96 . As shown in FIG. 10 , the control unit 12 excludes at least one of a region 92ex obtained by dilating the object region 92 and a region 94ex obtained by dilating the first region 94 from the second region 96 to form an approach region. 91 may be generated.
  • the object region 92 and the first region 94 excluded from the second region 96 have a size equal to or larger than half the width of the holding portion in the width direction of the holding portion, and a width of the holding portion in the thickness direction of the holding portion. It may be expanded to half or more of its thickness.
  • the object region 92 or the dilated region 92ex may also be referred to as “object regions 92, 92ex”.
  • the first region 94 or the expanded region 94ex may be referred to as “first regions 94, 94ex”.
  • the control unit 12 estimates the opening width at any point within the window 22 of the mask image 20 .
  • the arbitrary point is, for example, a reference position of the end effector 2B when holding the object 80 to be held by the end effector 2B. Any point selected within the window 22 corresponds to the approach position 70 contained in the object regions 92, 92ex on the approach map 90, as shown in FIG. That is, the control unit 12 sets an arbitrary point within the window 22 of the mask image 20 as the approach position 70 .
  • the control unit 12 aligns the center of the end effector model 30 with the approach position 70 and projects it. Projected end effector model 30 is represented in FIG. 11 as projected models 72a and 72b.
  • the projection model 72a corresponds to a model obtained by rotating the end effector model 30 along the short side direction of the object regions 92 and 92ex.
  • the projection model 72b corresponds to a model obtained by rotating the end effector model 30 clockwise by 45 degrees from the direction of the short sides of the object regions 92 and 92ex.
  • the control unit 12 determines that the end effector model 30 cannot be projected when the holding portion position 32 included in the end effector model 30 overlaps the object regions 92 and 92ex. As shown in FIG. 12, in the projection model 72a, the projection position 74a of the holding part included in the projection model 72a does not overlap the object regions 92, 92ex. Therefore, the control unit 12 can project the projection model 72 a onto the approach map 90 . On the other hand, in the projection model 72c, the projection position 74c of the holding portion included in the projection model 72c overlaps the object regions 92 and 92ex. Therefore, the control unit 12 cannot project the projection model 72c onto the approach map 90. FIG.
  • a position 70 is determined. By determining the approach position 70 at which the end effector 2B collides with the held object 80, the position to be excluded as an arbitrary point selected for estimation is determined.
  • control unit 12 determines that the end effector model 30 cannot be projected when it can be determined that the distance between the target object region 92 and the first region 94 is shorter than the thickness of the holding portion. It can be determined that the distance is shorter than the thickness of the holding part because in the approach map 90 in which either the object region 92 or the first region 94 is expanded, the distance is 1/1 of the thickness of the holding part. /2. Alternatively, it can be determined that the distance is shorter than the thickness of the holding portion because in the approach map 90 in which both the object region 92 and the first region 94 are expanded, the expanded regions 92ex and 94ex are even slightly This is the case when they overlap.
  • the approach position 70 at which the end effector 2B collides with an obstacle when a part of the end effector 2B is displaced to the holding object 80 to hold the holding object 80 is determined. be.
  • the position to be excluded as an arbitrary point selected for estimating the opening width is determined.
  • control unit 12 can project the end effector model 30 based on the characteristic points of the holding portion associated with the end effector model 30 in a configuration in which the holding portion position 32 is not specified in the end effector model 30. determine.
  • the position of the end effector 2B corresponding to the position and rotation angle of the end effector model 30 that can be projected onto the approach map 90 is a position suitable for the approach map 90. It can also be said that the control unit 12 is a position for estimating the opening width for each position that conforms to the approach map 90 .
  • the control unit 12 estimates the opening width based on the approach area 91 on the approach map 90 and the area where the end effector 2B may exist on the end effector model 30. You can As shown in FIG. 13, the control unit 12 estimates a possible existence area 99 for each holding unit in order to estimate the opening width.
  • the possible existence area 99 is an area where the approach area 91 and the motion range 36 of the holding part overlap when the end effector model 30 is superimposed on the approach map 90 .
  • the control section 12 may estimate an arbitrary point within the holding section possible area 99 as the position of the holding section corresponding to the opening width.
  • the control unit 12 estimates the position of each holding part, in other words, the position of the holding part in each possible area 99 corresponding to each holding part.
  • the control section 12 may estimate the position of the holding section corresponding to the opening width by the following method. As shown in FIG. 14, the control unit 12 calculates a first center position CP1 that is the center position of the possible existence area 99 corresponding to each holding unit. The control unit 12 determines whether or not the holding unit interferes with the object to be held 80 and objects other than the object to be held 80 when the holding unit is displaced along each predetermined direction starting from the first center position CP1. determine whether The control unit 12 displaces the holding unit from the first center position CP1 until it reaches the end of the corresponding possible area 99 .
  • the control unit 12 selects an arbitrary position that does not interfere with the holding object 80 and objects other than the holding object 80 in the area through which the holding unit passes until it reaches the end of the possible existence area 99 . It is estimated as the position of the holding portion corresponding to the opening width in the area 99 . In other words, the control unit 12 sets an arbitrary position in the area where the approach area 91 overlaps with the area through which the holding unit passes before reaching the end of the possible area 99 as the opening width of the possible area 99. is estimated as the position of the holding part corresponding to . More specifically, the controller 12 displaces the first center position CP1 along a predetermined direction. Furthermore, the control unit 12 estimates an arbitrary point that can be located within the approach area 91 as the position of the holding unit, the point being displaced from the first center position CP1.
  • the position of each holding portion corresponding to the opening width is the same for all holding portions. is estimated to be
  • the first center position CP1 of the possible area 99 corresponding to one holding portion is the same as that of the holding portion. It may deviate from the center in the width direction. In other words, the first center position CP1 may deviate from the movable straight line AL parallel to the opening/closing direction of the holding section and passing through the center position (approach position 70) of the area where the end effector 2B may exist.
  • the control unit 12 sets the intersection of the movable straight line AL and the perpendicular drawn from the first center position CP1 to the movable straight line AL as the first center.
  • the position of the retainer corresponding to the opening width may be estimated as described above.
  • the control section 12 may first displace the holding section from the first central position CP1 toward the area where the end effector 2B can exist in the end effector model 30, in other words, toward the central position of the operating range 36 of the holding section. .
  • the control section 12 may search for the approach area 91 outside the first center position CP1 in the possible area 99 .
  • the control unit 12 selects, as an arbitrary position, the position where the approach area 91 is reached first while displacing the point along a predetermined direction with the first center position CP1 as the starting point. , may be estimated as the position of the holding part.
  • the first center position CP1 may be estimated as the position of the retainer.
  • the control unit 12 moves the approach position 70 so as to scan within the range of the window 22 of the mask image 20 , rotates the end effector model 30 at each position, and projects it onto the approach map 90 .
  • the control unit 12 extracts a combination of the approach position 70, the rotation angle of the end effector model 30, and the opening width of the end effector 2B that can project the end effector model 30 onto the approach map 90.
  • the control unit 12 may create an opening width model based on the estimated opening width.
  • the opening width model identifies a region where the end effector 2B can exist within the range of the opening width estimated as the position of the holding portion.
  • the opening width model 31 defines a region having the width of the holding portion from the center of the operating range 36 of the holding portion to the position WP of the holding portion corresponding to the opening width. generated by drawing on
  • the control unit 12 may estimate the holding position where the end effector 2B contacts the holding object 80 based on the opening width model 31 and a rule map to be described later.
  • the control unit 12 may generate a rule map for estimating the holding position.
  • a rule map may be generated for each height at which the object to be held 80 is held.
  • the rule map may specify the rule by the display form of the image expressed in two dimensions.
  • the control unit 12 may generate a rule map based on at least one of the image to be held and the depth data.
  • the control unit 12 may acquire the rule map from an external device via the interface 14 .
  • the rule map may include a map that defines the position of the holding object 80 that the end effector 2B should use when holding, in other words, the holding position, that is, the holding position.
  • the rule map may include a map generated based on the height at which the holding object 80 is held.
  • the rule map may be classified into, for example, a surrounding environment map 40 (see FIG. 18), an object map 50 (see FIGS. 19A and 19B), or a contact map 60 (see FIG. 20).
  • the control unit 12 may acquire a rule map based on at least one of the shape data of the hold target object 80 and the depth data associated with the hold target image.
  • the surrounding environment map 40 may specify an approach area 41, an object area 42, a non-approach area 43, and a first area 44, as shown in FIG.
  • the surrounding environment map 40 may be the same as the approach map 90 without dilation processing. Therefore, the approach area 41, the object area 42, the non-approach area 43, and the first area 44 in the surrounding environment map 40 correspond to the approach area 91, the object area 92, the non-approach area 93, and the approach map 90, respectively. It may be the same as the first region 94 .
  • the surrounding environment map 40 may be generated by the same method as the approach map 90 .
  • the control unit 12 may perform a blurring process to obscure the boundaries of the generated surrounding environment map 40 .
  • Each area included in the surrounding environment map 40 generated by the procedure described above can be distinguished as a numerical value at each coordinate in the map.
  • the control unit 12 may set 1 as the numerical value for the coordinates included in the approach area 41, which indicates that the point specified by the coordinates is included in the motion range of the end effector 2B.
  • the control unit 12 determines that the points specified by the coordinates are not included in the movement range of the end effector 2B as the numerical values of the coordinates included in the target object area 42, the non-approach area 43, and the first area 44. 0 (zero) may be set as a numerical value representing .
  • the control unit 12 sets the numerical value of the coordinates specifying a point within a predetermined range from the boundary between the area set to 1 and the area set to 0 to a value greater than 0 and less than 1, such as 0.5. set the value of The control unit 12 executes the process of making the boundary of the area ambiguous in this way as the blurring process.
  • the surrounding environment map 40 generated by the procedure described above can be distinguished by the color at each coordinate in the map.
  • the control unit 12 may represent points included in the approach area 41 in white and points included in other areas in black.
  • the control unit 12 may represent the color of points within a predetermined range from the boundary between the area represented by white and the area represented by black in grayscale.
  • the control unit 12 may execute the process of making the boundary of the area ambiguous in this way as the blurring process. Representing the color of each area in black, white, and gray corresponds to representing the numerical value set in each area as a luminance value.
  • the control unit 12 can estimate the position of the end effector 2B with respect to the object to be held 80 by taking various margins into consideration by the blurring process.
  • a blurring process may be performed on the peripheral portion of each region included in the generated surrounding environment map 40 . Each region is enlarged by blurring.
  • the object map 50 represents information to be referred to in order to determine at which position of the holding object 80 the holding object 80 should be held when the worker holds the holding object 80 .
  • the object map 50 represents information such as the shape, material, or density distribution of the holding object 80, for example.
  • the object map 50 regarding the holding object 80 assumed in this way is obtained by cutting the holding object 80 by a plane of the height at which the holding object 80 is held. Closer to the center, it is represented by a color closer to white, which corresponds to a correct holding position for the rules. may be represented in grayscale as shown. 19B, the object map 50 may be expressed in grayscale that specifies a rule arbitrarily set by the user as a rule for estimating the holding position of the object 80 to be held.
  • the object map 50 in FIG. 19B is represented in the same color along the height direction of the cross section 52 .
  • the solid black line surrounding the cross section 52 of the object map 50 is simply a line representing the contour of the cross section 52 and does not indicate a rule. It does not mean that the coordinates drawn with a solid black line are improper holding positions.
  • the object map 50 assumes a position to hold the holding object 80, and when evaluating the adequacy of holding the holding object 80 at the assumed position, by holding the vicinity of the area represented by a color close to white. It may be configured such that the aptitude value representing the evaluation of suitability increases. Also, the object map 50 may be represented by associating a numerical value with the color of each coordinate, like the surrounding environment map 40 . For example, the control unit 12 may set 1 to coordinates represented in white and 0 to coordinates represented in black.
  • the control unit 12 is not limited to the above example, and may generate an object map 50 in which colors or numerical values are set for each coordinate so as to specify various rules.
  • the control unit 12 may generate the object map 50 in which colors or numerical values are set for each coordinate according to the distance from the center of gravity of the object 80 to be held.
  • the control unit 12 may generate the object map 50 in which a color or a numerical value is set for each coordinate so as to specify positions that should be avoided as holding positions or positions that should be prohibited as holding positions.
  • the control unit 12 may generate one object map 50 specifying a plurality of rules by mixing object maps 50 specifying one rule.
  • the control unit 12 may set a weighting factor for each object map 50 and mix them. For example, when the center-of-gravity position of the held object 80 is important, the control unit 12 may set a large weighting factor for the object map 50 that specifies the center-of-gravity position.
  • the object map 50 may be defined based on the properties of the holding object 80 itself.
  • the object map 50 may be defined based on the shape, material, texture, weight, or coefficient of friction of the object 80 to be held.
  • the object map 50 may be based on rules arbitrarily defined by the user regarding the holding position of the holding object 80 . For example, among the parts of the object to be held 80, it should not be held at the holding position for various reasons, such as parts that are likely to be damaged or deformed by contact, parts to which grease or the like adheres, and parts that are slippery and unsuitable for holding. Parts can be defined in the object map 50 as rules.
  • parts that are difficult to break or deform, parts that are not coated with grease, etc., parts that are not slippery, and other parts that should be placed in a holding position based on empirical rules are rules for objects.
  • the object map 50 may be generated for each type of holding object 80 .
  • the contact map 60 represents rules determined based on the relationship between the finger of the end effector 2B and the state of the surface of the held object 80. Like the object map 50, the contact map 60 represents information to be referred to for determining at which position of the holding object 80 the holding object 80 should be held when the operator holds the holding object 80. .
  • the contact map 60 is defined based on the shape of the contact portion of the end effector 2 ⁇ /b>B with the object to be held 80 and the shape of the object to be held 80 .
  • the contact map 60 represents the adequacy of the position where the end effector 2B contacts the object 80 to be held.
  • the portion should be at the holding position or the portion should not be at the holding position.
  • a portion that is difficult for the end effector 2B to be used to hold can be defined in the contact map 60 as a rule representing a portion that should not be held.
  • a portion where the contact area between the end effector 2B and the object to be held 80 is large, a portion where the coefficient of friction between the end effector 2B and the object to be held 80 is larger than a predetermined value, or other empirical rules are used.
  • a portion that should be easily held by the end effector 2B can be defined in the contact map 60 as a rule representing a portion that should be held.
  • the contact map 60 is, for example, a contact area between the surface of the object to be held 80 and the finger of the end effector 2B when the object to be held 80 is held by the end effector 2B, or a contact area between the surface of the object to be held 80 and the end effector 2B. Represents the frictional force acting between the finger and the like. If the surface of the object to be held 80 has irregularities, even a slight shift in the position of the finger of the end effector 2B can greatly change the contact area.
  • the contact map 60 is closer to the center of each side on the outer circumference 62 of the cross section obtained by cutting along the plane of the height at which the object to be held 80 is held.
  • the contact area between the surface of the holding object 80 and the finger of the end effector 2B increases when holding positions near the center of each side, and holding positions near the corners. This means that the contact area becomes smaller when
  • the black solid line surrounding the perimeter 62 of the contact map 60 is simply a line representing the contour of the perimeter 62. It does not mean that the coordinates drawn with a solid black line are improper holding positions.
  • the control unit 12 may generate one contact map 60 specifying a plurality of rules by mixing contact maps 60 specifying one rule.
  • the control unit 12 may set a weighting factor for each contact map 60 and mix them. For example, when the contact area between the surface of the object to be held 80 and the finger of the end effector 2B is important, the control section 12 may set a large weighting factor for the contact map 60 that specifies the contact area.
  • the control unit 12 estimates the holding position of the holding object 80 based on the generated rule map. Specifically, the control unit 12 projects the opening width model 31 as a temporary holding position onto the rule map, and calculates the degree of matching at the projected position to actually hold the object 80 at the temporary holding position. Evaluate the appropriateness of retention.
  • the control unit 12 calculates the degree of matching in the surrounding environment map 40 for each combination of the approach position 70 extracted together with the opening width of the end effector 2B and the rotation angle of the end effector 2B. Specifically, the control unit 12 projects the opening width model 31 on the surrounding environment map 40 at the extracted approach position 70 and rotation angle. The control unit 12 calculates the numerical value or the average value of the brightness of the color set for each coordinate in the range in which the approach area 41 and the opening width model 31 overlap in the surrounding environment map 40 as the degree of matching.
  • the position of the end effector 2B corresponding to the position of the opening width model 31 and the rotation angle that can be projected onto the surrounding environment map 40 is a position suitable for the surrounding environment map 40. It can also be said that the control unit 12 estimates the holding position from among the positions that match the surrounding environment map 40 .
  • the control unit 12 calculates the matching degree in the object map 50 for each combination of the extracted approach position 70 and the rotation angle of the end effector 2B together with the opening width of the end effector 2B. Specifically, the control unit 12 projects the opening width model 31 onto the object map 50 at the extracted approach position 70 and rotation angle. The control unit 12 calculates the numerical value or the average value of the brightness values of the colors set for each coordinate in the range where the cross section 52 of the held object 80 in the object map 50 and the opening width model 31 overlap as the matching degree.
  • the object map 50 represents the adequacy of the holding object 80 as a position. It can also be said that the position of the end effector 2B corresponding to the position of the opening width model 31 projected onto the object map 50 and the rotation angle is a position suitable for the object map 50 . It can be said that the control unit 12 estimates the holding position from among the positions that match the object map 50 .
  • the control unit 12 calculates the matching degree in the contact map 60 for each combination of the approach position 70 and the rotation angle of the end effector 2B extracted together with the opening width of the end effector 2B. Specifically, the control unit 12 projects the opening width model 31 onto the contact map 60 at the extracted approach position 70 and rotation angle. The control unit 12 calculates the numerical value or the average value of the brightness values of the colors set for each coordinate in the range overlapping the outer circumference 62 and the opening width model 31 in the contact map 60 as the matching degree.
  • the contact map 60 represents the adequacy of the contact portion of the end effector 2B with the holding object 80 as the position of contact with the holding object 80 . It can also be said that the control unit 12 estimates the holding position from among a plurality of positions of the end effector 2B corresponding to the positions and rotation angles of the plurality of opening width models 31 projected onto the contact map 60 .
  • the control unit 12 may calculate the angle at which each holding portion position 32 of the opening width model 31 is incident on the outer circumference 62 along the direction of the stroke range 34 . In other words, the control unit 12 may calculate the angle of intersection at each of the two points of intersection between the line along the direction of the stroke range 34 of the opening width model 31 and the outer circumference 62 . In the present embodiment, the controller 12 calculates the incident angle when the holder position 32 is vertically incident on the outer circumference 62 as 0 degrees. The control unit 12 may reflect the calculated angle in the value of the degree of matching in the contact map 60 . The control unit 12 may calculate the degree of matching as a larger value as the angle is closer to 0 degrees.
  • control unit 12 calculates the average value of the numerical value or the luminance value of the color set at each coordinate in the range overlapping the projected opening width model 31 in the outer circumference 62 of the contact map 60 and the cosine of the calculated angle.
  • a product with a value (cosine value) may be calculated as the matching degree.
  • control unit 12 When the outer circumference 62 has irregularities, the control unit 12 generates a flattened model of the outer circumference 62 based on the thickness, width, or length of the holding portion of the end effector 2B, and adjusts the flattened model to the holding portion.
  • the angle at which position 32 is incident may be calculated.
  • control unit 12 For each combination of the approach position 70 and the rotation angle of the opening width model 31, the control unit 12 adds up the degrees of matching calculated in each rule map to calculate the overall degree of matching.
  • the control unit 12 may weight the degrees of matching calculated in each rule map and add them.
  • the control unit 12 assigns the same weight to the degree of matching calculated in each rule map for all combinations.
  • a weighting coefficient applied to the degree of matching calculated in each rule map is also referred to as a map coefficient. Map coefficients may be defined for each map.
  • control unit 12 calculates the overall matching degree for each holding position based on the opening width model 31 and the rule map.
  • the overall matching degree corresponds to a proper value representing the properness of each holding position.
  • the rule map indicates the appropriateness of the position for holding the holding object 80 by a numerical value or a brightness value of color assigned to each position (each coordinate) of the rule map.
  • the control unit 12 can calculate the appropriate value by calculating the value assigned to each position when the end effector model 30 is superimposed on the rule map.
  • the control unit 12 compares the total matching degree calculated for each combination of the approach position 70 and the rotation angle of the end effector model 30, and selects a combination with a high total matching degree.
  • the control unit 12 determines the position at which the finger of the end effector 2B is incident on the object to be held 80 when it moves along the stroke direction, which is determined based on the selected combination of the approach position 70 and the rotation angle of the end effector model 30. It is estimated as the position at which the holding object 80 is held. That is, the control unit 12 estimates the holding position based on the end effector model 30 and the rule map. It can also be said that the control unit 12 estimates the holding position based on the proper value.
  • the control unit 12 outputs the estimated holding position to the robot control device 110 via the interface 14 .
  • the control unit 12 of the retention parameter estimation device 10 may execute the retention parameter estimation method including the procedure of the flowchart illustrated in FIG. 21 .
  • the retention parameter estimation method may be realized as a retention position estimation program that is executed by a processor that constitutes the control unit 12 of the retention parameter estimation device 10 .
  • the retention parameter estimation program may be stored on a non-transitory computer readable medium.
  • the control unit 12 acquires data including information about the end effector 2B, a holding target image obtained by photographing the holding target 80, and depth data of the holding target 80 (step S1).
  • the control unit 12 generates the end effector model 30 (step S2).
  • the control unit 12 estimates the height at which the object to be held 80 is held (step S3).
  • the control unit 12 generates the mask image 20 (step S4).
  • the control unit 12 creates an approach map 90 and rule maps such as the surrounding environment map 40, the object map 50, and the contact map 60 (step S5).
  • the control unit 12 projects the end effector model 30 onto the approach map 90 (step S6).
  • the control unit 12 estimates the opening width of the end effector 2B by projecting the end effector model 30 onto the approach map 90 (step S7).
  • the control unit 12 creates the opening width model 31 based on the estimated opening width (step S8).
  • the control unit 12 projects the opening width model 31 onto each rule map (step S9).
  • the control unit 12 calculates the degree of matching between each rule map and the opening width model 31 projected onto each rule map (step S10).
  • the control unit 12 weights the degree of matching calculated for each rule map in order to calculate the overall degree of matching (step S11).
  • the control unit 12 selects the projection position of the opening width model 31 when the overall matching score is high, and estimates the position at which the holding unit of the end effector 2B is incident on the holding object 80 at the selected position as the holding position (step S12). After executing the procedure of step S12, the control unit 12 ends the execution of the procedure of the flowchart of FIG.
  • the control unit 12 may execute the procedure of step S4 for generating the mask image 20 before step S2 or S3.
  • the end effector model 30, the holding target image, and the depth data are used to hold the holding target 80.
  • An opening width is estimated when a part of the effector 2B is displaced. If the opening width of the end effector 2B is close to the width of the object to be held 80 when part of the end effector 2B is displaced to the object to be held 80 for holding, the end effector 2B may collide with the object to be held during displacement. On the other hand, if the opening width is too wide, it takes a long time to hold the holding object 80 after the end effector 2B is partially displaced to the holding object 80 .
  • the holding parameter estimating device 10 estimates the opening width at the time of displacement, so it is possible to estimate an appropriate state when the end effector 2B is brought closer to the holding object 80 . Therefore, the holding parameter estimating device 10 can provide parameters for operating the robot 2 so as to obtain an appropriate opening width.
  • the approach area 91 in the approach map 90 corresponds to the area where the object to be held 80 exists and the first area 94 in the width direction of the holding portion of the end effector 2B. It is a region excluding a region expanded to a size equal to or more than half the width of the holding portion and to a size equal to or more than half the thickness of the holding portion in the thickness direction of the holding portion. With such a configuration, the holding parameter estimating device 10 can estimate the opening width in a region where there is a low possibility of interference with the holding target 80 and objects other than the holding target 80 .
  • the first center position CP1 which is the center position of the possible existence area 99 for each holding portion of the end effector 2B, is calculated, and along a predetermined direction for each of the holding portions
  • the holder is displaced from the first center position CP1 toward the object to be held 80, of the areas through which the holder passes until reaching the end of the possible area 99, the object 80
  • an arbitrary position that does not interfere with objects other than the object to be held 80 is estimated as the position of the holding part corresponding to the opening width in the possible existence area 99 .
  • the holding parameter estimating apparatus 10 can determine whether or not there is interference at only one point without determining whether or not there is interference in the entire area of the holding portion at an arbitrary position. Therefore, the retention parameter estimation device 10 can estimate the opening width at high speed.
  • the control unit 12 determines the vertical line drawn from the first center position CP1 to the movable straight line AL and Considering the intersection of AL as the first center position CP1, the position of the holding portion corresponding to the opening width is estimated.
  • the holding parameter estimating apparatus 10 allows a portion of the held object 80, etc. is positioned, the position of the holding portion corresponding to the opening width can be estimated on the movable straight line AL.
  • the holding position when holding the holding object 80 by the end effector 2B of the robot 2 is estimated based on the rule map.
  • the operator's experience and the like can be reflected in the rule map. For example, when a worker holds various objects 80 to be held, the worker considers at which position to hold each object 80 to hold.
  • the operator determines the holding position by considering, for example, the center of gravity of the object to be held 80, obstacles existing around the object to be held 80, or the wide position at which the object to be held 80 is held.
  • the operator's thoughts are reflected in the rule map, the degree of matching in each rule map is calculated, and the overall degree of matching is calculated by weighting the degree of matching.
  • the grip position is estimated.
  • the robot 2 can hold the holding object 80 at the holding position considered by the operator. In other words, the holding position of the object can be easily estimated as a position that is in line with human intention.
  • workers can use a rule map that rules the holding positions. As a result, no learning is required. Also, by adding a rule map when a new rule occurs, it becomes easier to cope with changes in the environment.
  • the work including holding the holding object 80 may include various components depending on the worker or the environment of the work site. Therefore, it is necessary to estimate and hold the holding position of the holding object 80 based on each component.
  • By generating a rule map that reflects various components and adding it to the targets for matching degree calculation it becomes easier to deal with special rules and the like for each worker or each site.
  • the holding parameter estimation device 10 may acquire the holding position of the holding object 80 estimated based on another method.
  • the holding parameter estimation device 10 may estimate the opening width for each acquired holding position by executing the holding parameter estimation method according to the present embodiment for the acquired holding position.
  • the control unit 12 of the holding parameter estimation device 10 acquires the holding position of the holding object 80 estimated based on another method via the interface 14 .
  • the control unit 12 calculates a combination of the approach position 70 and the rotation angle of the end effector model 30 corresponding to the acquired holding position.
  • the control unit 12 projects the end effector model 30 onto the approach map 90 in a combination corresponding to the acquired holding positions, and estimates the opening width.
  • the control unit 12 may create the opening width model 31 based on the estimated opening width.
  • the control unit 12 may project the opening width model 31 onto each rule map and calculate the matching degree in each rule map.
  • the control unit 12 may weight the degree of coincidence in each rule map, sum them up, and calculate the overall degree of coincidence.
  • the control unit 12 may select the opening width and the holding position corresponding to the combination with the large overall matching score and output them to the robot control device 110 .
  • the holding parameter estimating device 10 may evaluate the appropriateness of the acquired holding position by calculating the overall degree of matching at the acquired holding position.
  • the control unit 12 evaluates whether the acquired holding position is appropriate based on the calculated overall matching score. For example, the control unit 12 may determine that the acquired holding position is appropriate when the calculated overall matching score is equal to or greater than a predetermined value.
  • the holding parameter estimation device 10 may acquire the center position and rotation angle of the end effector 2B estimated based on other methods.
  • the holding parameter estimating device 10 can calculate a combination of the approach position 70 and the rotation angle by regarding the obtained center position of the end effector 2B as the approach position 70, and execute the holding parameter estimating method according to the present embodiment.
  • the holding parameter estimating device 10 can reduce the number of combinations of the approach position 70 and the rotation angle for which the matching degree is to be calculated by obtaining the holding position of the holding object 80 estimated based on another method. . As a result, computational load can be reduced.
  • the retention parameter estimating device 10 calculates an overall matching degree by weighting the matching degrees calculated for each rule map and summing them up.
  • the holding parameter estimating device 10 may update the weighting coefficients by learning based on the annotation information for the estimated holding position.
  • the holding parameter estimation device 10 can improve the holding position estimation accuracy by updating the weighting coefficients.
  • control unit 12 of the holding parameter estimation device 10 may notify the user of the estimated holding position via the interface 14 .
  • the control unit 12 receives an input for correcting the holding position as an annotation for the estimated holding position from the user through the interface 14 .
  • the control unit 12 may output the corrected holding position to the robot control device 110 based on the correction information by the user.
  • the control unit 12 may update the weighting coefficients by learning based on the correction information by the user, and re-estimate the holding position.
  • the control unit 12 may estimate a plurality of holding position candidates and notify the user of them via the interface 14 .
  • the control unit 12 may estimate, as a candidate, a holding position for which the overall matching score is equal to or greater than a predetermined value.
  • the control unit 12 receives an input from the user to select from the holding position candidates as an annotation for the estimated holding position through the interface 14 .
  • the control unit 12 may output the holding position selected by the user to the robot control device 110 .
  • the control unit 12 may update the weighting coefficients by learning based on information selected by the user.
  • the control unit 12 may extract holding positions where the overall matching score is equal to or higher than a predetermined value as candidate positions where the holding object 80 can be held, and notify the user of them.
  • the control unit 12 receives an input for correcting a candidate position or an input for selecting a candidate position as an annotation for the candidate position from the user via the interface 14 .
  • the control unit 12 evaluates the suitability of each candidate position based on the input of modification or selection of the candidate position.
  • the control unit 12 may update the weighting coefficient so that the value of the overall matching degree increases for the candidate positions evaluated as being highly suitable as holding positions based on the user's input.
  • the control unit 12 may output the selected candidate position to the robot control device 110 as the holding position.
  • the control unit 12 may output the corrected candidate position to the robot control device 110 as the holding position.
  • the control unit 12 of the retention parameter estimation device 10 may execute the procedure of the flowchart shown in FIG.
  • the control unit 12 selects holding position candidates by, for example, executing the procedure of the flowchart of FIG. 22 (step S21).
  • the control unit 12 outputs the holding position candidates to the interface 14 (step S22).
  • the control unit 12 corrects the holding position based on the correction input by the user (step S23).
  • the control unit 12 learns the contents of correction (step S24).
  • the control unit 12 updates the weighting based on the learning result (step S25). After executing the procedure of step S25, the control unit 12 ends the execution of the procedure of the flowchart of FIG.
  • the retention parameter estimation device 10 can update the weighting based on the content of the user's annotations. As a result, robustness that can cope with various work environments can be improved.
  • the retention parameter estimation device 10 weights and mixes multiple maps to generate a rule map. For example, the retention parameter estimation device 10 generates one object map 50 by mixing multiple object maps 50 . When weighting and blending multiple maps, the retention parameter estimator 10 may update the weighting factors for each map through annotation-based learning.
  • the holding parameter estimation device 10 may acquire annotation information for a plurality of holding positions, and correct the appropriate value based on the annotation information.
  • the retention parameter estimation device 10 may generate a rule map based on the retention target image captured by the camera 4 .
  • the control unit 12 of the holding parameter estimation device 10 may, for example, estimate the center of gravity of the holding target 80 based on the holding target image and generate the object map 50 specifying the position of the center of gravity.
  • the control unit 12 estimates the material of the object to be held 80 based on the image to be held, and creates a contact map 60 that specifies the frictional force acting between the surface of the object to be held 80 and the holding portion of the end effector 2B. may be generated.
  • the control unit 12 may estimate the material of the object to be held 80 based on the information on the color or pattern of the object to be held 80 or the unevenness.
  • the holding parameter estimating device 10 first sets the height at which the object to be held 80 is held, and estimates the opening width and holding position at the set height.
  • the holding parameter estimating device 10 changes the height at which the holding object 80 is held, executes the holding parameter estimation method at each height, and determines the holding height and approach
  • the position 70 and the combination of rotation angles may be estimated together with the opening width as the holding position. By doing so, the holding stability can be improved.
  • a storage medium on which the program is recorded for example, an optical disc, an optical Magnetic disk, CD-ROM, CD-R, CD-RW, magnetic tape, hard disk, memory card, etc.
  • the implementation form of the program is not limited to an application program such as an object code compiled by a compiler or a program code executed by an interpreter. good.
  • the program may or may not be configured so that all processing is performed only in the CPU on the control board.
  • the program may be configured to be partially or wholly executed by another processing unit mounted on an expansion board or expansion unit added to the board as required.
  • Embodiments according to the present disclosure are not limited to any specific configuration of the embodiments described above. Embodiments of the present disclosure extend to any novel feature or combination thereof described in the present disclosure or any novel method or process step or combination thereof described. be able to.
  • Descriptions such as “first” and “second” in this disclosure are identifiers for distinguishing the configurations. Configurations that are differentiated in descriptions such as “first” and “second” in this disclosure may interchange the numbers in that configuration. For example, a first region can exchange identifiers “first” and “second” with a second region. The exchange of identifiers is done simultaneously. The configurations are still distinct after the exchange of identifiers. Identifiers may be deleted. Configurations from which identifiers have been deleted are distinguished by codes. The description of identifiers such as “first” and “second” in this disclosure should not be used as a basis for interpreting the order of the configuration or the existence of lower numbered identifiers.

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Manipulator (AREA)

Abstract

保持パラメータ推定装置はインタフェースと制御部とを有する。インタフェースはエンドエフェクタに関する情報と保持対象情報とデプスデータとを取得する。制御部は情報に基づいてエンドエフェクタモデルを取得する。制御部はエンドエフェクタモデルと保持対象情報とデプスデータとに基づいて保持対象物を保持させるために保持部の開き幅を推定する。

Description

保持パラメータ推定装置及び保持パラメータ推定方法 関連出願の相互参照
 本出願は、2021年8月4日に日本国に特許出願された特願2021-128476の優先権を主張するものであり、この先の出願の開示全体をここに参照のために取り込む。
 本開示は、保持パラメータ推定装置及び保持パラメータ推定方法に関する。
 従来、コンピュータ上の画像から物体を把持する位置及び姿勢を適切に決定するための学習を行う学習装置が知られている(例えば特許文献1参照)。
特開2018-205929号公報
 第1の観点による保持パラメータ推定装置は、
 任意の開き幅で保持対象物を保持する保持部を有するエンドエフェクタに関する情報、前記保持対象物を示す保持対象情報、及び前記保持対象物に関するデプスデータを取得する取得部と、
 前記情報に基づいて該エンドエフェクタが存在しうる領域を示すエンドエフェクタモデルを取得し、該エンドエフェクタモデルと前記保持対象情報と前記デプスデータとに基づいて、該保持対象物を保持させるために前記保持部の開き幅を推定する制御部と、を備える。
 第2の観点による保持パラメータ推定方法は、
 保持対象物を保持する保持部を有するエンドエフェクタに関する情報、前記保持対象物を示す保持対象情報、及び前記保持対象物に関するデプスデータを取得し、
 前記情報に基づいて該エンドエフェクタが存在しうる領域を示すエンドエフェクタモデルを取得し、
 前記エンドエフェクタモデル、前記保持対象情報、及び前記デプスデータに基づいて、該保持対象物を保持させるために前記保持部の開き幅を推定する。
一実施形態に係るロボット制御システムの構成例を示す模式図である。 保持対象物をエンドエフェクタで保持する例を示す側面図である。 一実施形態に係るロボット制御システムの構成例を示すブロック図である。 保持対象物を保持する平面における保持対象物の外形を表すマスク画像の一例を示す図である。 保持部が2本の指を有するエンドエフェクタモデルのフィンガーの開口幅を表すモデルを示す図である。 保持部が2本の指を有するエンドエフェクタモデルのフィンガーのストロークを表すモデルを示す図である。 保持部が2本の指を有するエンドエフェクタモデルのフィンガーの開口幅とストロークとを合わせた全体モデルを示す図である。 保持部が3本の指を有するエンドエフェクタモデルのフィンガーの開口幅を表すモデルを示す図である。 保持部が2本の指を有するエンドエフェクタモデルのフィンガーのストロークを表す第1のモデルを示す図である。 保持部が2本の指を有するエンドエフェクタモデルのフィンガーのストロークを表す第2のモデルを示す図である。 アプローチマップの一例を示す図である。 アプローチマップの第2の領域を生成する手法を表す図である。 アプローチマップの作成途中における第2の領域に対象物領域及び障害物領域を配置した図である。 図7のアプローチマップに膨張処理を施した図である。 アプローチマップに対してエンドエフェクタモデルを投影する位置の例を示す図である。 アプローチマップに対してエンドエフェクタモデルを投影できる位置と投影できない位置とを示す図である。 アプローチマップへのエンドエフェクタモデルの投影に基づく存在可能領域の推定方法を説明するための図である。 保持部毎に対応する存在可能領域の中心位置を示す図である。 特殊な形状の保持対象物の外観図である。 図15の保護対象物に対して作成されるアプローチマップへのエンドエフェクタモデルの投影に基づく存在可能領域の中心位置が可動直線から外れていることを説明するための図である。 推定した開き幅に基づいて開き幅モデルを作成する方法を説明する図である。 周辺環境マップの一例を示す図である。 保持対象物の中心を表す物体マップを示す図である。 ユーザが指定した保持位置の優先度を表す物体マップを示す図である。 接触マップの一例を示す図である。 保持パラメータ推定方法の手順例を示すフローチャートである。 図21の保持パラメータ推定方法で推定した保持位置を修正して学習させる手順例を示すフローチャートである。
 以下、本開示を適用した保持パラメータ推定装置の実施形態について、図面を参照して説明する。
(ロボット制御システム100の構成例)
 図1、図2、及び図3に示されるように、本開示の一実施形態に係るロボット制御システム100は、ロボット2と、カメラ4と、ロボット制御装置110と、保持パラメータ推定装置10とを備える。ロボット2は、保持対象物80をエンドエフェクタ2Bによって保持して作業を実行する。ロボット制御装置110は、ロボット2を制御する。保持パラメータ推定装置10は、ロボット2が保持対象物80を保持するために、後述するエンドエフェクタ2Bの開き幅、及び保持するときに接触する位置を保持位置として推定し、ロボット制御装置110に出力する。
 本実施形態において、ロボット2は、作業開始台6上に位置した保持対象物80を保持する。つまり、ロボット制御装置110は、作業開始台6において、保持対象物80を保持するようにロボット2を制御する。ロボット2は、保持対象物80を作業開始台6から作業目標台7へ移動させてよい。保持対象物80は、作業対象とも称される。ロボット2は、動作範囲5の内側で動作する。
<ロボット2>
 ロボット2は、アーム2Aと、エンドエフェクタ2Bとを備える。アーム2Aは、例えば、6軸又は7軸の垂直多関節ロボットとして構成されてよい。アーム2Aは、3軸又は4軸の水平多関節ロボット又はスカラロボットとして構成されてもよい。アーム2Aは、2軸又は3軸の直交ロボットとして構成されてもよい。アーム2Aは、パラレルリンクロボット等として構成されてもよい。アーム2Aを構成する軸の数は、例示したものに限られない。言い換えれば、ロボット2は、複数の関節で接続されるアーム2Aを有し、関節の駆動によって動作する。
 エンドエフェクタ2Bは、例えば、任意の開き幅で保持対象物80を保持できるように構成されるグリッパーを含んでよい。グリッパーは、少なくとも1本の保持部を有している。各保持部は、所定の方向に沿って移動可能に構成されていてよい。
 保持部は、保持対象物80を保持する際に保持対象物80に接触してよい。保持部は、1つ以上の関節を有してよい。保持部は、例えば、保持対象物80を挟込んで保持する2つ以上の指であってよい。指は、互いに対向して移動可能な部材により形成されてよい。又は、保持部は、保持対象物80を吸着によって保持する少なくとも1つの吸着部、又は保持対象物80を掬うことができるように構成される掬いハンドであってよい。エンドエフェクタ2Bは、これらの例に限られず、他の種々の動作ができるように構成されてよい。図1に例示される構成において、エンドエフェクタ2Bは、グリッパーを含むとする。
 ロボット2は、アーム2Aを動作させることによって、エンドエフェクタ2Bの位置を制御できる。エンドエフェクタ2Bは、保持対象物80に対して作用する方向の基準となる軸を有してもよい。エンドエフェクタ2Bが軸を有する場合、ロボット2は、アーム2Aを動作させることによって、エンドエフェクタ2Bの軸の方向を制御できる。ロボット2は、エンドエフェクタ2Bが保持対象物80に作用する動作の開始及び終了を制御する。ロボット2は、エンドエフェクタ2Bの位置、又は、エンドエフェクタ2Bの軸の方向を制御しつつ、エンドエフェクタ2Bの動作を制御することによって、保持対象物80を動かしたり加工したりすることができる。図1に例示される構成において、ロボット2は、作業開始台6においてエンドエフェクタ2Bに保持対象物80を保持させ、エンドエフェクタ2Bを作業目標台7へ移動させる。ロボット2は、作業目標台7でエンドエフェクタ2Bに保持対象物80を解放させる。このようにすることで、ロボット2は、保持対象物80を作業開始台6から作業目標台7へ移動させることができる。
<カメラ4>
 図1に示される構成例において、ロボット制御システム100は、ロボット2のエンドエフェクタ2Bに取り付けられたカメラ4を備えるとする。カメラ4は、保持対象物80を撮影する。カメラ4は、例えば、エンドエフェクタ2Bが保持対象物80を保持する方向から保持対象物80を撮影してもよい。保持対象物80を撮影した画像は、保持対象画像とも称される。また、カメラ4は、デプスセンサを備え、保持対象物80のデプスデータを取得可能に構成される。デプスデータとは、デプスセンサの画角範囲内の方向別の距離に関するデータである。より具体的には、デプスデータは、カメラ4から測定点までの距離に関する情報ともいえる。カメラ4が撮影する画像は、モノクロの輝度情報を含んでもよいし、RGB(Red,Green,Blue)等で表される各色の輝度情報を含んでもよい。カメラ4の数は、1つに限られず、2つ以上であってもよい。カメラ4は、保持対象物80から所定範囲内に位置する他の物体も障害物として撮影し、障害物のデプスデータも取得してよい。カメラ4は、エンドエフェクタ2Bに取り付けられる構成に限定されず、保持対象物80を撮影可能な任意の位置に設けられてよい。エンドエフェクタ2B以外の構造物に取り付けられる構成においては、当該構造物に取り付けられたカメラ4の撮像した画像に基づいて、上記の保持対象画像が合成されてよい。保持対象画像は、カメラ4の取付位置及び姿勢に対する、エンドエフェクタ2Bの相対位置及び相対姿勢に基づいて画像変換することにより合成されてよい。或いは、保持対象画像は、CAD及び図面データから生成可能であってよい。
<保持パラメータ推定装置10>
 図3に示されるように、保持パラメータ推定装置10は、制御部12と、インタフェース(取得部)14とを備える。
 制御部12は、種々の機能を実行するための制御及び処理能力を提供するために、少なくとも1つのプロセッサを含んで構成されてよい。プロセッサは、制御部12の種々の機能を実現するプログラムを実行してよい。プロセッサは、単一の集積回路として実現されてよい。集積回路は、IC(Integrated Circuit)とも称される。プロセッサは、複数の通信可能に接続された集積回路及びディスクリート回路として実現されてよい。プロセッサは、他の種々の既知の技術に基づいて実現されてよい。
 制御部12は、記憶部を備えてよい。記憶部は、磁気ディスク等の電磁記憶媒体を含んでよいし、半導体メモリ又は磁気メモリ等のメモリを含んでもよい。記憶部は、各種情報を格納する。記憶部は、制御部12で実行されるプログラム等を格納する。記憶部は、非一時的な読み取り可能媒体として構成されてもよい。記憶部は、制御部12のワークメモリとして機能してよい。記憶部の少なくとも一部は、制御部12とは別体として構成されてもよい。
 制御部12は、インタフェース14で取得した情報又はデータに基づいてロボット2に保持対象物80を保持させるためにエンドエフェクタの一部を変位させるときの開き幅を推定する。開き幅は、保持部における保持に際して保持対象物80に接触する部分の、基準位置に対して所定の方向に開いた位置である。基準位置は、移動可能な所定の方向における最も閉じた位置である。最も閉じた位置は、少なくとも1本の保持部を有する構成において、例えば、当該所定の方向における、保持対象物を吸着可能な方向側の変位可能端である。最も閉じた位置は、複数の保持部を有する構成において、例えば、他の保持部に近づく方向側の変位可能端である。
 開き幅の推定は、後述する、エンドエフェクタモデル、保持対象情報、及びデプスデータに基づく。保持対象情報は、カメラによる撮像時における保持対象物の位置を示す情報であり、例えば、情報としての保持対象画像である。以下の説明における保持対象画像は、保持対象情報を具体化して記載したものであり、画像に限定されない情報を含んでよい。制御部12は、更に、インタフェース14で取得した情報又はデータに基づいてロボット2に保持対象物80を保持させる保持位置を推定してよい。
 インタフェース14は、外部装置から保持対象物80等に関する情報又はデータを取得する。インタフェース14は、ユーザから情報又はデータ等の入力を受け付ける入力デバイスを含んで構成されてもよい。入力デバイスは、例えば、タッチパネル若しくはタッチセンサ、又はマウス等のポインティングデバイスを含んで構成されてよい。入力デバイスは、物理キーを含んで構成されてもよい。入力デバイスは、マイク等の音声入力デバイスを含んで構成されてもよい。
 インタフェース14は、例えば、カメラ4から保持対象物80を撮影した保持対象画像及び当該保持対象画像に対応付けられるデプスデータを取得する。インタフェース14は、例えば、ロボット2又は入力デバイスからエンドエフェクタ2Bに関する情報を取得する。
 インタフェース14は、更には外部装置に情報又はデータを出力してよい。インタフェース14は、制御部12が推定するエンドエフェクタ2Bの開き幅を出力してよい。インタフェース14は、制御部12が推定する保持対象物80を保持させる保持位置を出力してよい。
 インタフェース14は、ユーザに情報又はデータを認識させるように出力してもよい。インタフェース14は、ユーザに対して情報又はデータ等を出力する出力デバイスを含んで構成されてよい。インタフェース14は、出力デバイスによって、例えば推定した開き幅などによるロボットの制御を実行する際に、推定結果をユーザに提示して、実行可否に関するユーザの指示を受け付けてもよい。なお、ユーザの指示は、上記の入力デバイスによって取得してもよい。なお、保持パラメータ推定装置10は、推定した開き幅の推定結果に基づくユーザの指示を求めることなく、推定した開き幅などをロボット制御装置110に出力してもよい。
 出力デバイスは、例えば、画像又は文字若しくは図形等の視覚情報を出力する表示デバイスを含んでよい。表示デバイスは、例えば、LCD(Liquid Crystal Display)、有機EL(Electro-Luminescence)ディスプレイ若しくは無機ELディスプレイ、PDP(Plasma Display Panel)等を含んで構成されてよい。表示デバイスは、これらのディスプレイに限られず、他の種々の方式のディスプレイを含んで構成されてよい。表示デバイスは、LED(Light Emission Diode)、LD(Laser Diode)等の発光デバイスを含んで構成されてよい。表示デバイスは、他の種々のデバイスを含んで構成されてよい。出力デバイスは、例えば、音声等の聴覚情報を出力するスピーカ等の音声出力デバイスを含んでよい。出力デバイスは、これらの例に限られず、他の種々のデバイスを含んでよい。
 インタフェース14は、有線又は無線で通信可能に構成される通信デバイスを含んで構成されてよい。通信デバイスは、種々の通信規格に基づく通信方式で通信可能に構成されてよい。通信デバイスは、既知の通信技術により構成することができる。
<ロボット制御装置110>
 ロボット制御装置110は、保持パラメータ推定装置10から、開き幅を特定する情報を取得してよい。ロボット制御装置110は、後述するアプローチ領域への、エンドエフェクタ2Bの一部の変位に際して、推定した開き幅にエンドエフェクタ2Bを開くようロボット2を制御してよい。ロボット制御装置110は、更に、保持パラメータ推定装置10から保持位置を特定する情報を取得してよい。ロボット制御装置110は、推定した保持位置でロボット2が保持対象物80を保持するようにロボット2を制御してよい。
 ロボット制御装置110は、種々の機能を実行するための制御及び処理能力を提供するために、少なくとも1つのプロセッサを含んで構成されてよい。ロボット制御装置110の各構成部は、少なくとも1つのプロセッサを含んで構成されてもよい。ロボット制御装置110の各構成部のうち複数の構成部が1つのプロセッサで実現されてもよい。ロボット制御装置110の全体が1つのプロセッサで実現されてもよい。プロセッサは、ロボット制御装置110の種々の機能を実現するプログラムを実行しうる。プロセッサは、保持パラメータ推定装置10で用いられるプロセッサと同一又は類似に構成されてよい。
 ロボット制御装置110は、記憶部を備えてよい。記憶部は、保持パラメータ推定装置10で用いられる記憶部と同一又は類似に構成されてよい。
 ロボット制御装置110は、保持パラメータ推定装置10を含んでもよい。ロボット制御装置110と保持パラメータ推定装置10とは、別体として構成されてもよい。
(ロボット制御システム100の動作例)
 ロボット制御システム100は、ロボット制御装置110によってロボット2を制御してロボット2に作業を実行させる。本実施形態において、ロボット2に実行させる作業は、保持対象物80を保持するための動作を含む。更に、ロボット2に実行させる作業は保持対象物80を保持する動作を含んでよい。ロボット制御システム100において、保持パラメータ推定装置10は、保持対象物80へのエンドエフェクタ2Bの変位時の開き幅を推定する。ロボット制御装置110は、エンドエフェクタ2Bを推定した開き幅に開くようにロボット2を制御してよい。ロボット制御システム100において、保持パラメータ推定装置10は、更に、ロボット2による保持対象物80の保持位置を推定してよい。ロボット制御装置110は、保持位置でロボット2が保持対象物80を保持するようにロボット2を制御してよい。
 制御部12は、エンドエフェクタ2Bが2つ以上の指を保持部として有する構成において、保持部が保持対象物80を把持する際に保持部が保持対象物80に接触する位置の組み合わせを保持位置として推定してよい。制御部12は、エンドエフェクタ2Bが吸着部を保持部として有する構成において、エンドエフェクタ2Bが保持対象物80を吸着する際に吸着部が保持対象物80に接触する位置を保持位置として推定してよい。
 保持パラメータ推定装置10は、インタフェース14を介して、カメラ4から保持対象物80を撮影した保持対象画像と保持対象物80のデプスデータとを取得する。制御部12は、保持対象画像とデプスデータとに基づいて保持対象物80の外形及び位置を認識する。制御部12は、図4に例示されるように、保持対象物80をエンドエフェクタ2Bに取り付けられているカメラ4から見たときの、保持対象物80の認識結果を表すマスク画像20を生成する。マスク画像20は、カメラ4から見て保持対象物80が存在する領域を表す窓22と、それ以外の領域を表すマスク24とを含む。図4において、窓22は、白塗りの領域として表されている。図4において、マスク24は、右上がり斜線のハッチングが付された領域として表されている。なお、マスク画像20においてマスク24の部分は、図面記載の便宜上、ハッチングが付された領域として表されているが、現実の実施態様において黒塗りの領域として表されてよい。又は、マスク画像20において、窓22及びマスク24の部分の色塗りは逆であってよい。又は、マスク画像20において、窓22及びマスク24の部分それぞれの色塗り及びハッチングは逆であってよい。
 制御部12は、インタフェース14を介して、エンドエフェクタ2Bに関する情報を取得する。エンドエフェクタ2Bに関する情報は、例えば、把持する保持部の間隔の最大値、保持部の太さ、及び保持部の幅等を特定する情報を含む。保持部の太さは、保持部の開閉方向における長さである。保持部の幅は、保持部の開閉方向に垂直な方向における長さである。制御部12は、エンドエフェクタ2Bに関する情報に基づいてエンドエフェクタモデル30を生成してもよい。エンドエフェクタモデル30は、エンドエフェクタ2Bが存在しうる領域を示す。制御部12は、インタフェース14を介して、エンドエフェクタモデル30を、エンドエフェクタ2Bに関する情報として取得してもよい。
 保持部が2本の指を有するエンドエフェクタモデル30は、図5Aに示されるように、グリッパーの保持部が所定の間隔を空けて位置している範囲を表す保持部位置32と、保持部位置32以外の範囲を表す動作外範囲38とを特定する保持部モデルを含む。なお、保持部が3本の指を有するエンドエフェクタモデル30の場合は、エンドエフェクタモデル30は、図6Aに示されるように、グリッパーの保持部が所定の間隔を空けて位置している範囲を表す保持部位置32と、保持部位置32以外の範囲を表す動作外範囲38とを特定する保持部モデルを含んでよい。つまり、保持部モデルは、グリッパーの保持部の開口幅を表す。保持部位置32は、保持部が最大の間隔を空けて位置している範囲を表してもよい。この場合、保持部モデルは、保持部の最大開口幅を表す。図5A、6Aに示される保持部モデルは、保持部の最大開口幅を表しているとする。保持部位置32は、白塗りの領域として表されている。動作外範囲38は、右上がり斜線のハッチングが付された領域として表されている。なお、動作外範囲38は、図面記載の便宜上、ハッチングが付された領域として表されているが、現実の実施態様において黒塗りの領域として表されてよい。又は、保持部位置32及び動作外範囲38の部分の色塗りは逆であってよい。又は、保持部位置32及び動作外範囲38の部分それぞれの色塗り及びハッチングは逆であってよい。
 保持部が2本の指を有するエンドエフェクタモデル30は、図5Bに示されるように、グリッパーの保持部が動作する範囲を表すストローク範囲34を特定するストロークモデルを含む。なお、保持部が3本の指を有するエンドエフェクタモデル30の場合は、エンドエフェクタモデル30は、図6B又は図6Cに示されるように、グリッパーの保持部が動作する範囲を表すストローク範囲34を特定するストロークモデルを含んでよい。ストローク範囲34は、白塗りの領域として表されている。動作外範囲38は、右上がり斜線のハッチングが付された領域として表されている。なお、動作外範囲38は、図面記載の便宜上、ハッチングが付された領域として表されているが、現実の実施態様において黒塗りの領域として表されてよい。又は、ストローク範囲34及び動作外範囲38の部分の色塗りは逆であってよい。又は、ストローク範囲34及び動作外範囲38の部分それぞれの色塗り及びハッチングは逆であってよい。
 エンドエフェクタモデル30は、図5Cに示されるように、図5Aの保持部モデルと図5Bのストロークモデルとを合わせた全体モデルを含む。全体モデルは、保持部の動作範囲36を特定している。保持部の動作範囲36は、保持部位置32を含む。なお、図5Cにおいて、保持部の動作範囲36のうち保持部部分が破線によって区別して示されているが、現実の実施態様においては区別されなくてもよい。また、本実施形態では、エンドエフェクタモデル30は、保持部が最大の間隔(最大の開口幅)を開けて位置している範囲を表すとしているが、これに限られない。エンドエフェクタモデル30は、グリッパーの保持部が任意の間隔(所定の間隔)を開けて位置している範囲を表すものであってよい。例えば、エンドエフェクタモデル30は、エンドエフェクタ2Bが把持しようとする物体の大きさに応じたグリッパーの保持部の間隔を表すものとされてもよい。
 制御部12は、エンドエフェクタモデル30として全体モデルだけ生成してもよい。この場合、保持部位置32を特定する情報を全体モデルに関連づけることによって保持部位置32が特定されてもよい。保持部位置32を特定する情報は、保持部の特徴点を表す数値を含んでよい。
 保持部が吸着部を有する構成において、エンドエフェクタモデル30は、吸着部が保持対象物80を吸着する際に他の物体と干渉する範囲を規定するモデルとして構成される。
 制御部12は、保持対象物80のデプスデータに基づいて、保持対象物80を保持する高さを設定する。具体的に、制御部12は、図2に例示されるように、作業開始台6の上に配置されている保持対象物80を保持する位置として、作業開始台6からの高さを設定する。図2において、保持対象物80をエンドエフェクタ2Bの保持部で挟んで把持する位置が、保持点82として表されている。作業開始台6からの保持点82の高さはHで表されている。制御部12は、保持対象物80を保持する高さとしてHを設定する。制御部12は、保持対象物80のデプスデータに基づいて、保持対象物80のうち作業開始台6から最も高い点までの距離より小さい値に、保持対象物80を保持する高さを設定する。制御部12は、保持対象物80の高さの半分程度の値に、保持対象物80を保持する高さを設定してもよい。
 制御部12は、保持対象物80を保持する高さと、保持対象物80のデプスデータとに基づいてマスク画像20を生成してもよい。具体的に、制御部12は、保持対象物80を保持する高さの平面による保持対象物80の断面形状を窓22とするマスク画像20を生成してもよい。
 制御部12は、保持対象物80を保持させるためにエンドエフェクタ2Bの一部を変位させるときの開き幅を特定するためのアプローチマップを作成してよい。制御部12は、保持対象画像、及びデプスデータに基づいてアプローチマップを作成してよい。
 図7に示すように、アプローチマップ90は、少なくともアプローチ領域91を示してよい。アプローチマップ90は、更に対象物領域92、非アプローチ領域93、及び第1の領域94を示してよい。アプローチ領域91は、保持対象物80を保持する高さにおいて、エンドエフェクタ2Bを保持対象物80以外の物体に干渉させずに開き得る領域である。対象物領域92は、保持対象物80の存在領域である。非アプローチ領域93は、後述する第2の領域の外部領域であり、アプローチマップ90の全体領域からアプローチ領域91、対象物領域92、及び第1の領域94以外の全領域である。第1の領域94は、保持対象物80以外の物体、言換えると障害物の存在領域における保持対象物80に面する外縁から保持対象物80とは反対側を向く領域である。アプローチ領域91は、白塗りの領域として表されている。対象物領域92、非アプローチ領域93、及び第1の領域94は、右上がり斜線のハッチングが付された領域として表されている。対象物領域92、非アプローチ領域93、及び第1の領域94は、図面記載の便宜上、ハッチングが付された領域として表されているが、現実の実施態様において黒塗りの領域として表されてよい。又は、アプローチ領域91と、対象物領域92、非アプローチ領域93、及び第1の領域94との部分の色塗りは逆であってよい。又は、アプローチ領域91と、対象物領域92、非アプローチ領域93、及び第1の領域94との部分それぞれの色塗り及びハッチングは逆であってよい。
 制御部12は、アプローチマップ90を作成するために、マスク画像20に基づいて、第2の領域を生成してよい。第2の領域は、保持対象物80のみに着目して、保持対象物80の周囲でエンドエフェクタ2Bを保持対象物80に干渉させずに開き得る領域である。言換えると、第2の領域は、保持対象物80の外縁から、エンドエフェクタ2Bの保持部の最大開口幅を有する領域であってよい。制御部12は、マスク画像20に対してエンドエフェクタモデル30の畳み込みを実行することにより第2の領域を生成してよい。より具体的には、制御部12は、マスク画像20に含まれる窓22に対して、エンドエフェクタモデル30で特定される保持部の動作範囲36の少なくとも一部が重なるように、保持部の動作範囲36を移動させてよい。保持部の動作範囲36の移動において、保持部の動作範囲36を表す矩形は、例えば窓22の左上の隅の点に矩形の少なくとも一部が重なるように種々の角度に回転して配置され得る。制御部12は、保持部の動作範囲36を移動させたときに保持部の動作範囲36が通過する領域を第2の領域として生成してよい。図8において、保持部の動作範囲36が移動するときに窓22から最も遠い点が描く軌跡は、第2の領域の境界95として表される。境界95は、破線で表されている。
 図9に示すように、制御部12は、生成した第2の領域96に、保持対象物80のデプスデータに基づいて対象物領域92を生成する。制御部12は、保持対象物80を保持する高さよりも高い位置において保持対象物80が存在する範囲を対象物領域92として生成する。また、制御部12は、生成した第2の領域96に、保持対象物80以外の物体のデプスデータに基づいて障害物領域97を配置する。制御部12は、保持対象物80を保持する高さよりも高い位置において保持対象物80以外の物体が存在する範囲を障害物領域97として生成する。
 制御部12は、対象物領域92及び障害物領域97に基づいて、第1の領域94を生成する。第1の領域94は、障害物領域97を含む、障害物領域97の外側に広がる領域であり、前述のように、障害物領域97における保持対象物80に面する外縁から保持対象物80とは反対側を向く領域である。制御部12は、例えば、対象物領域92の中心C92を通り、障害物領域97に重なる直線を算出する。制御部12は、中心C92を軸に当該直線を回転させて、当該直線の障害物領域97より外側の線分が通る軌跡を第1の領域94として生成する。又は、制御部12は、対象物領域92の中心C92を通り、障害物領域97の外縁に一点において交わる2直線SLを引く。図7、9に示すように、制御部12は、当該2直線SL、第2の領域96の外縁、及び障害物領域97における対象物領域92側の外縁に囲まれる領域を第1の領域94として生成する。
 制御部12は、第2の領域96から、対象物領域92及び第1の領域94を除外することによりアプローチ領域91を生成する。図10に示すように、制御部12は、対象物領域92を膨張させた領域92ex及び第1の領域94を膨張させた領域94exの少なくとも一方を、第2の領域96から除外してアプローチ領域91を生成してよい。第2の領域96から除外する対象物領域92及び第1の領域94は、保持部の幅方向に当該保持部の幅の半分以上の大きさ、且つ保持部の太さ方向に当該保持部の太さの半分以上の大きさで膨張されてよい。以下の説明において、対象物領域92又は膨張させた領域92exを、「対象物領域92、92ex」と呼ぶこともある。また、第1の領域94又は膨張させた領域94exを、「第1の領域94、94ex」と呼ぶこともある。
 制御部12は、マスク画像20の窓22の範囲内の任意の点における開き幅を推定する。任意の点は、例えば、エンドエフェクタ2Bに保持対象物80を保持させるときのエンドエフェクタ2Bの基準となる位置である。窓22の範囲内で選択した任意の点は、図11に示されるように、アプローチマップ90において、対象物領域92、92exに含まれるアプローチ位置70に対応する。つまり、制御部12は、マスク画像20の窓22の範囲内の任意の点をアプローチ位置70として設定する。制御部12は、アプローチ位置70にエンドエフェクタモデル30の中心を合わせて投影する。投影したエンドエフェクタモデル30は、図11において投影モデル72a及び72bとして表される。投影モデル72aは、エンドエフェクタモデル30を、対象物領域92、92exの短辺方向に沿って回転させたモデルに対応する。投影モデル72bは、エンドエフェクタモデル30を、対象物領域92、92exの短辺方向から時計回りに45度回転させたモデルに対応する。
 制御部12は、エンドエフェクタモデル30に含まれる保持部位置32が対象物領域92、92exに重なる場合にエンドエフェクタモデル30を投影できないと判断する。図12に示すように、投影モデル72aは投影モデル72aに含まれる保持部の投影位置74aが対象物領域92、92exに重ならない。したがって、制御部12は、投影モデル72aをアプローチマップ90に投影できる。一方で、投影モデル72cは投影モデル72cに含まれる保持部の投影位置74cが対象物領域92、92exに重なる。したがって、制御部12は、投影モデル72cをアプローチマップ90に投影できない。保持部位置32が対象物領域92、92exに重なる場合にエンドエフェクタモデル30を投影しないことによって、エンドエフェクタ2Bが保持対象物80に接近する間にエンドエフェクタ2Bが保持対象物80に衝突するアプローチ位置70が判別される。エンドエフェクタ2Bが保持対象物80に衝突するアプローチ位置70を判別することにより、推定するために選択する任意の点として除外すべき位置が判別される。
 また、制御部12は、対象物領域92と、第1の領域94との間隔が、保持部の太さよりも短いと判定し得る場合にエンドエフェクタモデル30を投影できないと判断する。当該間隔が保持部の太さよりも短いと判定し得るのは、対象物領域92及び第1の領域94のいずれかを膨張させたアプローチマップ90においては、当該間隔が保持部の太さの1/2よりも短い場合である。又は、当該間隔が保持部の太さよりも短いと判定し得るのは、対象物領域92及び第1の領域94の両者を膨張させたアプローチマップ90においては膨張させた領域92ex、94exが少しでも重なる場合である。このような構成により、エンドエフェクタ2Bに保持対象物80を保持させるためにエンドエフェクタ2Bの一部を保持対象物80に変位させる時に、エンドエフェクタ2Bが障害物に衝突するアプローチ位置70が判別される。エンドエフェクタ2Bが障害物に衝突するアプローチ位置70を判別することにより、開き幅を推定するために選択する任意の点として除外すべき位置が判別される。
 制御部12は、エンドエフェクタモデル30において保持部位置32が特定されていない構成において、エンドエフェクタモデル30に関連づけられている保持部の特徴点に基づいて、エンドエフェクタモデル30を投影できるか否かを判別する。
 アプローチマップ90に投影できるエンドエフェクタモデル30の位置及び回転角度に対応するエンドエフェクタ2Bの位置は、アプローチマップ90に適合する位置であるともいえる。制御部12は、アプローチマップ90に適合する各位置に対する開き幅を推定する位置であるともいえる。
 制御部12は、アプローチマップ90にエンドエフェクタモデル30を投影できた場合、アプローチマップ90におけるアプローチ領域91と、エンドエフェクタモデル30におけるエンドエフェクタ2Bが存在しうる領域とに基づいて、開き幅を推定してよい。図13に示すように、制御部12は、開き幅の推定のために、保持部毎に存在可能領域99を推定する。存在可能領域99は、アプローチマップ90へのエンドエフェクタモデル30の重合わせにおいて、アプローチ領域91と保持部の動作範囲36とが重なる領域である。
 制御部12は、保持部の存在可能領域99内の任意の地点を、開き幅に対応する、保持部の位置として推定してよい。制御部12は、保持部毎に、言換えると各保持部に対応する各存在可能領域99における保持部の位置を推定する。
 制御部12は、例えば、以下のような方法により、開き幅に対応する保持部の位置を推定してよい。図14に示すように、制御部12は、保持部毎に対応する存在可能領域99の中心位置である第1中心位置CP1を算出する。制御部12は、第1中心位置CP1を起点として、保持部の各々の所定の方向に沿って保持部を変位させたときに保持対象物80及び保持対象物80以外の物体と干渉するか否かを判別する。制御部12は、第1中心位置CP1を起点として、対応する存在可能領域99の端に到達するまで保持部を変位させる。すなわち、制御部12は、存在可能領域99の端に到達するまで保持部が通過する領域のうち、保持対象物80及び当該保持対象物80以外の物体と干渉しない任意の位置を、当該存在可能領域99における開き幅に対応する保持部の位置として推定する。言換えると、制御部12は、存在可能領域99の端に到達するまでに保持部が通過する領域とアプローチ領域91とが重なる領域の中で任意の位置を、当該存在可能領域99における開き幅に対応する保持部の位置として推定する。より具体的には、制御部12は、第1中心位置CP1を、所定の方向に沿って変位させる。更に、制御部12は、第1中心位置CP1から変位させた点がアプローチ領域91内に位置し得る任意の点を保持部の位置として推定する。
 なお、エンドエフェクタ2Bが複数の保持部を有し、当該複数の保持部は同じ幅で開閉する構成においては、開き幅に相当する各保持部の位置は、全保持部において開き幅が同じになる位置に推定される。
 図15に示すように、任意の高さにおける断面が、本体81及び鉤括弧部材83を有する物体が保持対象物80になることが考えられる。このような形状の保持対象物80に対しては、図16に示すように、アプローチ位置70によっては、1つの保持部に対応する存在可能領域99の第1中心位置CP1が、当該保持部の幅方向の中央から外れることがある。言換えると、第1中心位置CP1が、エンドエフェクタ2Bが存在しうる領域の中心位置(アプローチ位置70)を通る、保持部の開閉方向に平行な可動直線ALから外れることがある。制御部12は、上述の例のように、第1中心位置CP1が可動直線ALから外れる場合、第1中心位置CP1から可動直線ALに下ろした垂線と当該可動直線ALとの交点を第1中心位置CP1とみなして、上述するように、開き幅に対応する保持部の位置を推定してよい。
 制御部12は、第1中心位置CP1からエンドエフェクタモデル30におけるエンドエフェクタ2Bが存在しうる領域、言換えると保持部の動作範囲36の中心位置に向けて、保持部を最初に変位させてよい。制御部12は、保持部を当該中心位置に向けて変位させる場合でアプローチ領域91が存在しないとき、存在可能領域99における第1中心位置CP1より外側においてアプローチ領域91を探索してよい。
 制御部12は、例えば、制御部12は、第1中心位置CP1を起点として所定の方向に沿って点を変位させながら、最初にアプローチ領域91に到達した位置を、任意の位置として選択して、保持部の位置として推定してよい。例えば、図14に示すように、任意の単一の保持部に対応する存在可能領域99が可動直線ALに沿った方向の全域に亘って保持部と同じ幅を有する場合、第1中心位置CP1を保持部の位置として推定してよい。
 制御部12は、アプローチ位置70をマスク画像20の窓22の範囲内で走査するように移動させるとともに、各位置においてエンドエフェクタモデル30を回転させてアプローチマップ90に投影する。制御部12は、エンドエフェクタモデル30をアプローチマップ90に投影できる、アプローチ位置70、エンドエフェクタモデル30の回転角度、エンドエフェクタ2Bの開き幅の組合せを抽出する。
 制御部12は、推定した開き幅に基づいて、開き幅モデルを作成してよい。開き幅モデルは、保持部の位置として推定された開き幅の範囲内でエンドエフェクタ2Bが存在しうる領域を特定する。図17に示すように、開き幅モデル31は、保持部の動作範囲36の中心から開き幅に対応する保持部の位置WPまでの長さで、保持部の幅を有する領域を、保持部毎に描くことにより生成される。
 制御部12は、開き幅モデル31と、後述するルールマップとに基づいて、エンドエフェクタ2Bが保持対象物80と接触する保持位置を推定してよい。制御部12は、保持位置の推定のために、ルールマップを生成してよい。ルールマップは、保持対象物80を保持する高さ毎に生成されてよい。ルールマップは2次元状に表現した画像の表示形態によってルールを特定してよい。制御部12は、保持対象画像及びデプスデータの少なくとも一つに基づいてルールマップを生成してよい。制御部12は、インタフェース14を介して、ルールマップを外部機器から取得してよい。
 ルールマップは、エンドエフェクタ2Bが保持に際して使用すべき、言換えると接触すべき保持対象物80の位置、すなわち保持位置を規定するマップを含んでよい。ルールマップは、保持対象物80を保持する高さに基づいて生成されるマップを含んでもよい。ルールマップは、例えば、周辺環境マップ40(図18参照)、物体マップ50(図19A、19B参照)、又は接触マップ60(図20参照)等に分類されてよい。制御部12は、保持対象物80の形状データ及び保持対象画像に対応づけられるデプスデータの少なくとも1つに基づくルールマップを取得してよい。
 周辺環境マップ40は、図18に示すように、アプローチ領域41、対象物領域42、非アプローチ領域43、及び第1の領域44を特定してよい。周辺環境マップ40は、膨張処理を施さないアプローチマップ90と同一であってよい。したがって、周辺環境マップ40におけるアプローチ領域41、対象物領域42、非アプローチ領域43、及び第1の領域44は、それぞれ、アプローチマップ90におけるアプローチ領域91、対象物領域92、非アプローチ領域93、及び第1の領域94と同一であってよい。周辺環境マップ40は、アプローチマップ90と同じ方法により生成されてよい。
 制御部12は、生成した周辺環境マップ40に対して境界を曖昧にするぼかし処理を実行してもよい。上述してきた手順で生成した周辺環境マップ40に含まれる各領域は、マップ中の各座標における数値として区別され得る。制御部12は、例えば、アプローチ領域41に含まれる座標における数値として、その座標で特定される点がエンドエフェクタ2Bの動作範囲に含まれることを表す1を設定してよい。一方、制御部12は、対象物領域42、非アプローチ領域43、及び第1の領域44に含まれる座標における数値として、その座標で特定される点がエンドエフェクタ2Bの動作範囲に含まれないことを表す数値として0(ゼロ)を設定してよい。制御部12は、1が設定されている領域と0が設定されている領域との境界から所定範囲内の点を特定する座標における数値を、0より大きくかつ1より小さい、例えば0.5等の値を設定する。制御部12は、このように領域の境界を曖昧にする処理をぼかし処理として実行する。
 また、上述してきた手順で生成した周辺環境マップ40は、マップ中の各座標における色として区別され得る。制御部12は、例えば、アプローチ領域41に含まれる点を白で表し、それ以外の領域に含まれる点を黒で表してよい。制御部12は、白で表される領域と黒で表される領域との境界から所定範囲内の点の色を、グレースケールで表してよい。制御部12は、このように領域の境界を曖昧にする処理をぼかし処理として実行してもよい。各領域の色を黒、白及びグレーで表すことは、各領域に設定される数値を輝度値として表すことに相当する。
 制御部12がぼかし処理を実行することによって、エンドエフェクタ2Bの動作範囲の誤差、又は、保持対象物80若しくは障害物の外形の誤差によってエンドエフェクタ2Bが予期せず物体に衝突する可能性が低減され得る。つまり、制御部12は、ぼかし処理によって、種々のマージンを考慮して保持対象物80に対するエンドエフェクタ2Bの位置を推定できる。ぼかし処理は、生成した周辺環境マップ40に含まれる各領域の周辺部分に対して実行されてよい。ぼかし処理によって各領域が拡大される。
 物体マップ50は、仮に作業者が保持対象物80を保持する場合に保持対象物80のどの位置で保持対象物80を保持するか判断するために参照する情報を表す。物体マップ50は、例えば、保持対象物80の形状、材質又は密度分布等の情報を表す。
 例えば、保持対象物80の中心に近づくほどルールに対して適正な保持位置となる保持対象物80の存在が仮定される。このように仮定した保持対象物80に関する物体マップ50は、図19Aに示されるように、保持対象物80を保持する高さの平面によって切断した場合に得られる断面52において、保持対象物80の中心に近いほどルールに対して適正な保持位置であることに対応する白に近い色で表され、中心から離れるほどルールに対して適正でない保持位置であることに対応する黒に近い色で表されるグレースケールで表されてよい。また、物体マップ50は、図19Bに示されるように、保持対象物80を保持する位置を推定するルールとしてユーザが任意に設定したルールを特定するグレースケールで表されてよい。図19Bに示す、保持対象物80の中心に近づいていくことに従って、適正な把持位置となる物体マップ50を作成する場合、保持対象物80の断面52の水平方向に沿って中心に近いほど、適正な保持位置であることに対応する白に近い色で表され、中心から離れるほど、適正でない保持位置であることに対応する黒に近い色で表されている。また、図19Bの物体マップ50は、断面52の高さ方向に沿って同じ色で表されている。
 図19A、19Bにおいて、物体マップ50の断面52を囲む黒色の実線は、単に断面52の輪郭を表す線であり、ルールを示すものではない。黒色の実線が描かれている座標が適正でない保持位置であることを表すものではない。
 物体マップ50は、保持対象物80を保持する位置を仮定して、仮定した位置で保持することの適正さを評価する際に、白に近い色で表される領域の近くを保持することによって適正さの評価を表す適性値が大きくなるように構成されてよい。また、物体マップ50は、周辺環境マップ40のように、各座標の色に数値を対応づけることによって表されてもよい。制御部12は、例えば白で表される座標に1を設定し、黒で表される座標に0を設定してよい。
 制御部12は、上述の例に限られず、種々のルールを特定するように、各座標に色又は数値を設定した物体マップ50を生成してよい。制御部12は、例えば、保持対象物80の重心からの距離に応じて各座標に色又は数値を設定した物体マップ50を生成してよい。制御部12は、例えば、保持する位置として避けるべき位置又は保持する位置として禁止する位置を特定するように、各座標に色又は数値を設定した物体マップ50を生成してよい。
 制御部12は、1つのルールを特定する物体マップ50を混合することによって、複数のルールを特定する1つの物体マップ50を生成してもよい。制御部12は、複数の物体マップ50を混合する場合、各物体マップ50に重みづけ係数を設定して混合してよい。制御部12は、例えば保持対象物80の重心位置が重要である場合、重心位置を特定する物体マップ50の重みづけ係数を大きく設定してよい。
 物体マップ50は、保持対象物80自身の有する特性に基づき規定されてよい。物体マップ50は、保持対象物80の形状、材質、テクスチャ、重量、又は摩擦係数のいずれかに基づき規定されてよい。物体マップ50は、保持対象物80の保持位置についてユーザが任意に定めた規定に基づくものであってよい。例えば、保持対象物80の部分のうち、接触することで破損又は変形しやすい部分、グリス等が付着している部分、滑りやすく保持に適さない部分など、様々な理由で保持位置とすべきでない部分がルールとして物体マップ50に規定され得る。同様に、破損又は変形がしにくい部分、グリス等が付着していない部分、滑りにくい部分、その他、経験則に基づいて保持位置とすべき部分(保持しやすいとされる部分)がルールとして物体マップ50に規定され得る。物体マップ50を二次元状の画像として表すことで、保持対象物80の保持位置として、どのようなルールが規定されているのか把握することが容易となる。物体マップ50は、保持対象物80の種類ごとに生成されてよい。
 接触マップ60は、エンドエフェクタ2Bの指と保持対象物80の表面の状態との関係に基づいて定まるルールを表す。接触マップ60は、物体マップ50のように、仮に作業者が保持対象物80を保持する場合に保持対象物80のどの位置で保持対象物80を保持するか判断するために参照する情報を表す。接触マップ60は、エンドエフェクタ2Bの保持対象物80との接触部分の形状と、保持対象物80の形状とに基づき規定される。接触マップ60は、エンドエフェクタ2Bが保持対象物80と接触する位置としての適正さを表す。例えば、エンドエフェクタ2Bの保持対象物80との接触部分の形状若しくは材質と、保持対象物80の保持位置の形状若しくは材質との関係で保持位置とすべき部分、又は保持位置とすべきでない部分が接触マップ60に規定され得る。より具体的には、エンドエフェクタ2Bと保持対象物80との接触面積が小さくなる部分、エンドエフェクタ2Bと保持対象物80との摩擦係数が所定値より小さい部分、又は、その他、経験則に基づいて使用するエンドエフェクタ2Bにとって保持しにくいとされる部分が、保持位置とすべきでない部分を表すルールとして接触マップ60に規定され得る。同様に、エンドエフェクタ2Bと保持対象物80との接触面積が大きくなる部分、エンドエフェクタ2Bと保持対象物80との摩擦係数が所定値より大きい部分、又は、その他、経験則に基づいて使用するエンドエフェクタ2Bにとって保持しやすいとすべき部分が、保持位置とすべき部分を表すルールとして接触マップ60に規定され得る。
 接触マップ60は、例えば、保持対象物80をエンドエフェクタ2Bで保持するときの保持対象物80の表面とエンドエフェクタ2Bの指との接触面積、又は、保持対象物80の表面とエンドエフェクタ2Bの指との間に作用する摩擦力等を表す。仮に保持対象物80の表面が凹凸を有する場合、エンドエフェクタ2Bの指の位置が少しずれただけで接触面積が大きく異なり得る。
 接触マップ60は、図20に示されるように、保持対象物80を保持する高さの平面によって切断した場合に得られる断面の外周62において、各辺の中央に近いほど適正な保持位置であることに対応する白に近い色で表され、中心から離れて隅に近づくほど適正でない保持位置であることに対応する黒に近い色で表されるグレースケールで表されてよい。図20に例示される接触マップ60は、各辺の中央に近い位置を保持する場合に保持対象物80の表面とエンドエフェクタ2Bの指との接触面積が大きくなり、隅に近い位置を保持する場合に接触面積が小さくなることを表している。
 図20において、接触マップ60の外周62を囲む黒色の実線は、単に外周62の輪郭を表す線である。黒色の実線が描かれている座標が適正でない保持位置であることを表すものではない。
 制御部12は、1つのルールを特定する接触マップ60を混合することによって、複数のルールを特定する1つの接触マップ60を生成してもよい。制御部12は、複数の接触マップ60を混合する場合、各接触マップ60に重みづけ係数を設定して混合してよい。制御部12は、例えば保持対象物80の表面とエンドエフェクタ2Bの指との接触面積が重要である場合、接触面積を特定する接触マップ60の重みづけ係数を大きく設定してよい。
 制御部12は、生成したルールマップに基づいて、保持対象物80を保持する位置を推定する。具体的に、制御部12は、ルールマップに対して開き幅モデル31を仮の保持位置として投影し、投影した位置における一致度を算出することによって仮の保持位置で実際に保持対象物80を保持することの適正さを評価する。
 制御部12は、エンドエフェクタ2Bの開き幅とともに抽出したアプローチ位置70及びエンドエフェクタ2Bの回転角度の組み合わせそれぞれにおいて、周辺環境マップ40における一致度を算出する。具体的に、制御部12は、抽出したアプローチ位置70及び回転角度で開き幅モデル31を、周辺環境マップ40に投影する。制御部12は、周辺環境マップ40におけるアプローチ領域41と開き幅モデル31と重なる範囲の各座標に設定されている数値又は色の輝度の平均値を一致度として算出する。
 周辺環境マップ40に投影できる開き幅モデル31の位置及び回転角度に対応するエンドエフェクタ2Bの位置は、周辺環境マップ40に適合する位置であるともいえる。制御部12は、周辺環境マップ40に適合する位置の中から保持位置を推定するともいえる。
 制御部12は、エンドエフェクタ2Bの開き幅とともに抽出したアプローチ位置70及びエンドエフェクタ2Bの回転角度の組み合わせそれぞれにおいて、物体マップ50における一致度を算出する。具体的に制御部12は、抽出したアプローチ位置70及び回転角度で開き幅モデル31を、物体マップ50に投影する。制御部12は、物体マップ50における保持対象物80の断面52と開き幅モデル31と重なる範囲の各座標に設定されている数値又は色の輝度値の平均値を一致度として算出する。
 物体マップ50は、保持対象物80を保持する位置としての適正さを表す。物体マップ50に投影する開き幅モデル31の位置及び回転角度に対応するエンドエフェクタ2Bの位置は、物体マップ50に適合する位置であるともいえる。制御部12は、物体マップ50に適合する位置の中から保持位置を推定するともいえる。
 制御部12は、エンドエフェクタ2Bの開き幅とともに抽出したアプローチ位置70及びエンドエフェクタ2Bの回転角度の組み合わせそれぞれにおいて、接触マップ60における一致度を算出する。具体的に制御部12は、抽出したアプローチ位置70及び回転角度で開き幅モデル31を、接触マップ60に投影する。制御部12は、接触マップ60における外周62と開き幅モデル31と重なる範囲の各座標に設定されている数値又は色の輝度値の平均値を一致度として算出する。
 接触マップ60は、エンドエフェクタ2Bの保持対象物80との接触部分の、保持対象物80と接触する位置としての適正さを表す。制御部12は、接触マップ60に投影する複数の開き幅モデル31の位置及び回転角度に対応するエンドエフェクタ2Bの複数の位置の中から保持位置を推定するともいえる。
 制御部12は、開き幅モデル31の各保持部位置32それぞれがストローク範囲34の方向に沿って外周62に対して入射する角度を算出してよい。言い換えれば、制御部12は、開き幅モデル31のストローク範囲34の方向に沿った線と外周62との2つの交点それぞれにおける交差の角度を算出してよい。本実施形態において、制御部12は、保持部位置32が外周62に対して垂直に入射する場合の入射角度を0度として算出する。制御部12は、算出した角度を接触マップ60における一致度の値に反映してよい。制御部12は、角度が0度に近いほど一致度の値を大きい値として算出してよい。制御部12は、例えば、接触マップ60の外周62のうち投影された開き幅モデル31と重なる範囲の各座標に設定されている数値又は色の輝度値の平均値と、算出した角度のコサインの値(余弦値)との積を一致度として算出してもよい。
 制御部12は、外周62が凹凸を有する場合、エンドエフェクタ2Bの保持部の太さ又は幅若しくは長さに基づいて外周62を平坦化したモデルを生成し、平坦化したモデルに対して保持部位置32が入射する角度を算出してもよい。
 制御部12は、アプローチ位置70及び開き幅モデル31の回転角度の組み合わせ毎に、各ルールマップにおいて算出した一致度を合算し、総合一致度を算出する。制御部12は、各ルールマップにおいて算出した一致度に対して重みづけを行って合算してよい。制御部12は、各ルールマップにおいて算出した一致度に対して行う重みづけを、全ての組み合わせにおいて同一とする。各ルールマップにおいて算出した一致度に対して適用される重みづけの係数は、マップ係数とも称される。マップ係数は、各マップについて定められてよい。
 以上述べてきたように、制御部12は、開き幅モデル31とルールマップとに基づいて各保持位置について総合一致度を算出する。総合一致度は、各保持位置の適正さを表す適正値に対応する。また、ルールマップは、ルールマップの各位置(各座標)に割り当てた数値又は色の輝度値等によって、保持対象物80を保持する位置としての適正さを表す。制御部12は、エンドエフェクタモデル30をルールマップに重ねた場合に各位置に割り当てた値を演算することによって、適正値を算出できる。
 制御部12は、アプローチ位置70及びエンドエフェクタモデル30の回転角度の各組み合わせについて算出した総合一致度を比較し、総合一致度が高い組み合わせを選択する。制御部12は、選択した組み合わせのアプローチ位置70及びエンドエフェクタモデル30の回転角度に基づいて定まる、エンドエフェクタ2Bの指がストローク方向に沿って動いたときに保持対象物80に入射する位置を、保持対象物80を保持する位置として推定する。つまり、制御部12は、エンドエフェクタモデル30とルールマップとに基づいて保持位置を推定する。また、制御部12は、適正値に基づいて保持位置を推定するともいえる。制御部12は、推定した保持位置を、インタフェース14を介してロボット制御装置110に出力する。
(保持パラメータ推定方法の手順例)
 保持パラメータ推定装置10の制御部12は、図21に例示されるフローチャートの手順を含む保持パラメータ推定方法を実行してもよい。保持パラメータ推定方法は、保持パラメータ推定装置10の制御部12を構成するプロセッサに実行させる保持位置推定プログラムとして実現されてもよい。保持パラメータ推定プログラムは、非一時的なコンピュータ読み取り可能な媒体に格納されてよい。
 制御部12は、エンドエフェクタ2Bに関する情報、保持対象物80を撮影した保持対象画像、及び保持対象物80のデプスデータを含むデータを取得する(ステップS1)。制御部12は、エンドエフェクタモデル30を生成する(ステップS2)。制御部12は、保持対象物80を保持する高さを推定する(ステップS3)。制御部12は、マスク画像20を生成する(ステップS4)。
 制御部12は、アプローチマップ90と、周辺環境マップ40、物体マップ50、及び接触マップ60等のルールマップとを作成する(ステップS5)。制御部12は、アプローチマップ90にエンドエフェクタモデル30を投影する(ステップS6)。制御部12は、アプローチマップ90へのエンドエフェクタモデル30の投影により、エンドエフェクタ2Bの開き幅を推定する(ステップS7)。制御部12は、推定した開き幅に基づいて開き幅モデル31を作成する(ステップS8)。制御部12は、各ルールマップに開き幅モデル31を投影する(ステップS9)。制御部12は、各ルールマップと各ルールマップに投影した開き幅モデル31との一致度を算出する(ステップS10)。制御部12は、総合一致度を算出するために、各ルールマップについて算出した一致度に重みづけを行う(ステップS11)。制御部12は、総合一致度が高くなるときの開き幅モデル31の投影位置を選出し、選出した位置においてエンドエフェクタ2Bの保持部が保持対象物80に入射する位置を保持位置として推定する(ステップS12)。制御部12は、ステップS12の手順の実行後、図21のフローチャートの手順の実行を終了する。
 制御部12は、マスク画像20を生成するステップS4の手順を、ステップS2又はS3の前に実行してもよい。
(小括)
 以上述べてきたように、本実施形態に係る保持パラメータ推定装置10によれば、エンドエフェクタモデル30と前記保持対象画像と前記デプスデータとに基づいて、保持対象物80を保持させるために前記エンドエフェクタ2Bの一部を変位させるときの開き幅が推定される。保持のためにエンドエフェクタ2Bの一部を保持対象物80に変位させるときのエンドエフェクタ2Bの開き幅が保持対象物80の幅に近い場合、変位中に保持対象物に衝突する虞がある。一方、当該開き幅が広すぎる場合、エンドエフェクタ2Bの一部の保持対象物80への変位後に、保持対象物80を保持するまでの時間が長くなる。更に、当該開き幅が広すぎる場合、変位後にエンドエフェクタ2Bを保持のために閉じる動作において、保持対象物80の周囲の障害物に衝突する虞がある。このような事象に対して、上述の構成を有する保持パラメータ推定装置10は、変位時の開き幅を推定するので、エンドエフェクタ2Bを保持対象物80に近づける時の適切な状態を推定し得る。したがって、保持パラメータ推定装置10は、適切な開き幅となるようにロボット2を操作するパラメータを提供し得る。
 また、本実施形態の保持パラメータ推定装置10では、アプローチマップ90におけるアプローチ領域91は、保持対象物80の存在領域及び第1の領域94を、エンドエフェクタ2Bが有する保持部の幅方向に当該保持部の幅の半分以上の大きさ、且つ当該保持部の太さ方向に当該保持部の太さの半分以上の大きさで膨張させた領域を除外した領域である。このような構成により、保持パラメータ推定装置10は、保持対象物80及び保持対象物80以外の物体と干渉する可能性の低い領域内で開き幅を推定させ得る。
 また、本実施形態の保持パラメータ推定装置10では、エンドエフェクタ2Bの保持部毎の存在可能領域99の中心位置である第1中心位置CP1を算出し、保持部の各々についての所定の方向に沿って、第1中心位置CP1を起点として保持部を保持対象物80へ向かって変位させた場合に、存在可能領域99の端に到達するまでに保持部が通過する領域のうち、保持対象物80及び保持対象物80以外の物体と干渉しない任意の位置を、該存在可能領域99における前記開き幅に対応する保持部の位置として推定する。このような構成により、保持パラメータ推定装置10は、任意の位置における保持部の全領域の干渉の有無を判別することなく、一点のみで干渉の有無を判別し得る。したがって、保持パラメータ推定装置10は、開き幅を高速に推定し得る。
 また、本実施形態の保持パラメータ推定装置10では、制御部12は第1中心位置CP1が可動直線ALから外れている場合、第1中心位置CP1から当該可動直線ALに下ろした垂線と当該可動直線ALの交点を第1中心位置CP1とみなして、開き幅に対応する保持部の位置を推定する。このような構成により、保持パラメータ推定装置10は、保持部の移動可能な範囲内の最も内側における保持対象物80の表面と、保持部の最大開き幅の間に保持対象物80の一部等が位置する場合であっても、開き幅に対応する保持部の位置を可動直線AL上で推定し得る。
 また、本実施形態の保持パラメータ推定装置10によれば、保持対象物80をロボット2のエンドエフェクタ2Bで保持するときの保持位置がルールマップに基づいて推定される。ルールマップに基づいて保持位置を推定することによって、作業者の経験等をルールマップに反映させることができる。例えば、作業者が種々の保持対象物80を保持する場合に、保持対象物80それぞれについて、どの位置で保持するか考えて保持する。作業者は、例えば、保持対象物80の重心、保持対象物80の周囲に存在する障害物、又は、保持対象物80を持つ位置が広いこと等を考えて保持位置を決める。つまり、本実施形態に係る保持パラメータ推定装置10によれば、作業者の考えをルールマップに反映し、各ルールマップにおける一致度を算出し、一致度に重みづけを行って算出した総合一致度に基づいて、把持位置が推定される。その結果、作業者が考える保持位置で、ロボット2に保持対象物80を保持させることができる。つまり、物体の保持位置が簡易に人間の意図に沿った位置に推定され得る。
 また、作業者が保持位置をルール化したルールマップを使用できる。その結果、学習が不要になる。また、新たなルールが発生した場合にルールマップを追加することによって、環境の変化に対応しやすくなる。例えば、保持対象物80の保持を含む作業は、作業者又は作業現場の環境等に応じた種々の構成要素を含み得る。したがって、各構成要素に基づいて保持対象物80の保持位置を推定して保持する必要がある。種々の構成要素を反映したルールマップを生成して一致度の算出対象に追加することによって、各作業者又は各現場における特殊なルール等にも対応が容易になる。
(他の実施形態)
 以下、他の実施形態が説明される。
<他の手法に基づく推定結果の利用>
 保持パラメータ推定装置10は、他の手法に基づいて推定された保持対象物80の保持位置を取得してよい。保持パラメータ推定装置10は、取得した保持位置に対して本実施形態に係る保持パラメータ推定方法を実行することによって、取得した保持位置毎の開き幅を推定してよい。
 具体的に、保持パラメータ推定装置10の制御部12は、インタフェース14を介して他の手法に基づいて推定された保持対象物80の保持位置を取得する。制御部12は、取得した保持位置に対応する、アプローチ位置70とエンドエフェクタモデル30の回転角度との組み合わせを算出する。制御部12は、取得した保持位置に対応する組み合わせでエンドエフェクタモデル30をアプローチマップ90に投影し、開き幅を推定する。更に、制御部12は、推定した開き幅に基づいて開き幅モデル31を作成してよい。制御部12は、開き幅モデル31を各ルールマップに投影し、各ルールマップにおける一致度を算出してよい。制御部12は、各ルールマップにおける一致度に重みづけを行って合算し、総合一致度として算出してよい。制御部12は、総合一致度の値が大きい組み合わせに対応する開き幅及び保持位置を選択してロボット制御装置110に出力してよい。
 保持パラメータ推定装置10は、取得した保持位置における総合一致度を算出して取得した保持位置の適正さを評価してもよい。制御部12は、算出した総合一致度に基づいて、取得した保持位置が妥当であるか評価する。制御部12は、例えば、算出した総合一致度が所定値以上となった場合に、取得した保持位置が妥当であると判定してよい。
 保持パラメータ推定装置10は、他の手法に基づいて推定された、エンドエフェクタ2Bの中心位置及び回転角度を取得してもよい。保持パラメータ推定装置10は、取得したエンドエフェクタ2Bの中心位置をアプローチ位置70とみなすことによってアプローチ位置70と回転角度との組み合わせを算出し、本実施形態に係る保持パラメータ推定方法を実行できる。
 保持パラメータ推定装置10は、他の手法に基づいて推定された保持対象物80の保持位置を取得することによって、一致度の算出対象とするアプローチ位置70と回転角度との組み合わせの数を低減できる。その結果、計算負荷が低減され得る。
<学習による重みづけの調整>
 保持パラメータ推定装置10は、各ルールマップについて算出した一致度に対して重みづけを行って合算することによって、総合一致度を算出する。保持パラメータ推定装置10は、推定した保持位置に対するアノテーションの情報に基づいて学習することによって、重みづけの係数を更新してよい。保持パラメータ推定装置10は、重みづけの係数を更新することによって保持位置の推定精度を向上できる。
 具体的に、保持パラメータ推定装置10の制御部12は、推定した保持位置をインタフェース14によってユーザに通知してよい。制御部12は、インタフェース14によって、推定した保持位置に対するアノテーションとして保持位置を修正する入力をユーザから受け付ける。制御部12は、ユーザによる修正の情報に基づいて、修正した保持位置をロボット制御装置110に出力してよい。制御部12は、ユーザによる修正の情報に基づいて学習することによって重みづけの係数を更新し、保持位置の推定をやり直してもよい。
 制御部12は、複数の保持位置の候補を推定してインタフェース14によってユーザに通知してよい。制御部12は、総合一致度が所定値以上となる保持位置を候補として推定してよい。制御部12は、インタフェース14によって、推定した保持位置に対するアノテーションとして保持位置の候補から選択する入力をユーザから受け付ける。制御部12は、ユーザが選択した保持位置をロボット制御装置110に出力してよい。制御部12は、ユーザが選択した情報に基づいて学習することによって重みづけの係数を更新してもよい。
 制御部12は、総合一致度が所定値以上となる保持位置を、保持対象物80を保持可能な候補位置として抽出し、ユーザに通知してよい。制御部12は、インタフェース14によって、候補位置に対するアノテーションとして、候補位置を修正する入力、又は、候補位置を選択する入力をユーザから受け付ける。制御部12は、候補位置に対する修正又は選択の入力に基づいて、各候補位置の適正さを評価する。制御部12は、ユーザの入力に基づいて保持位置としての適正さが高いと評価した候補位置について総合一致度の値が大きくなるように、重みづけの係数を更新してよい。制御部12は、選択された候補位置を保持位置としてロボット制御装置110に出力してもよい。制御部12は、修正された候補位置を保持位置としてロボット制御装置110に出力してもよい。
 保持パラメータ推定装置10の制御部12は、図22に示されるフローチャートの手順を実行してもよい。制御部12は、例えば図22のフローチャートの手順を実行することによって、保持位置の候補を選出する(ステップS21)。制御部12は、保持位置の候補をインタフェース14に出力する(ステップS22)。制御部12は、ユーザによる修正の入力に基づいて保持位置を修正する(ステップS23)。制御部12は、修正内容を学習する(ステップS24)。制御部12は、学習結果に基づいて重みづけを更新する(ステップS25)。制御部12は、ステップS25の手順の実行後、図22のフローチャートの手順の実行を終了する。
 以上述べてきたように、保持パラメータ推定装置10は、ユーザによるアノテーションの内容に基づいて重みづけを更新できる。その結果、種々の作業環境に対応できるロバスト性が向上し得る。
 保持パラメータ推定装置10は、ルールマップを生成するために複数のマップに重みづけを実行して混合する。例えば、保持パラメータ推定装置10は、複数の物体マップ50を混合して1つの物体マップ50を生成する。複数のマップに重みづけを実行して混合する場合において、保持パラメータ推定装置10は、各マップに対する重みづけ係数をアノテーションに基づく学習によって更新してもよい。
 保持パラメータ推定装置10は、複数の保持位置に対するアノテーションの情報を取得し、アノテーションの情報に基づいて適正値を補正してもよい。
<画像に基づくマップの生成>
 保持パラメータ推定装置10は、カメラ4で撮影した保持対象画像に基づいて、ルールマップを生成してもよい。保持パラメータ推定装置10の制御部12は、例えば、保持対象画像に基づいて保持対象物80の重心を推定し、重心位置を特定する物体マップ50を生成してもよい。制御部12は、例えば、保持対象画像に基づいて保持対象物80の材質を推定し、保持対象物80の表面とエンドエフェクタ2Bの保持部との間に作用する摩擦力を特定する接触マップ60を生成してもよい。制御部12は、保持対象物80の色若しくは模様、又は、凹凸に関する情報に基づいて、保持対象物80の材質を推定してもよい。
<保持位置の高さの設定>
 保持パラメータ推定装置10は、最初に保持対象物80を保持する高さを設定し、設定した高さにおける開き幅及び保持位置を推定する。保持パラメータ推定装置10は、保持対象物80を保持する高さを変化させ、それぞれの高さにおいて保持パラメータ推定方法を実行し、総合一致度の値が最も大きくなるときの保持の高さと、アプローチ位置70、及び回転角度の組み合わせとを、保持位置として開き幅とともに推定してもよい。このようにすることで、保持の安定性が向上し得る。
 以上、保持パラメータ推定装置10の実施形態を説明してきたが、本開示の実施形態としては、装置を実施するための方法又はプログラムの他、プログラムが記録された記憶媒体(一例として、光ディスク、光磁気ディスク、CD-ROM、CD-R、CD-RW、磁気テープ、ハードディスク、又はメモリカード等)としての実施態様をとることも可能である。
 また、プログラムの実装形態としては、コンパイラによってコンパイルされるオブジェクトコード、インタプリタにより実行されるプログラムコード等のアプリケーションプログラムに限定されることはなく、オペレーティングシステムに組み込まれるプログラムモジュール等の形態であってもよい。さらに、プログラムは、制御基板上のCPUにおいてのみ全ての処理が実施されるように構成されてもされなくてもよい。プログラムは、必要に応じて基板に付加された拡張ボード又は拡張ユニットに実装された別の処理ユニットによってその一部又は全部が実施されるように構成されてもよい。
 本開示に係る実施形態について説明する図は模式的なものである。図面上の寸法比率等は、現実のものとは必ずしも一致していない。
 本開示に係る実施形態について、諸図面及び実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形又は改変を行うことが可能であることに注意されたい。従って、これらの変形又は改変は本開示の範囲に含まれることに留意されたい。例えば、各構成部等に含まれる機能等は論理的に矛盾しないように再配置可能であり、複数の構成部等を1つに組み合わせたり、或いは分割したりすることが可能である。
 本開示に記載された構成要件の全て、及び/又は、開示された全ての方法、又は、処理の全てのステップについては、これらの特徴が相互に排他的である組合せを除き、任意の組合せで組み合わせることができる。また、本開示に記載された特徴の各々は、明示的に否定されない限り、同一の目的、同等の目的、または類似する目的のために働く代替の特徴に置換することができる。したがって、明示的に否定されない限り、開示された特徴の各々は、包括的な一連の同一、又は、均等となる特徴の一例にすぎない。
 さらに、本開示に係る実施形態は、上述した実施形態のいずれの具体的構成にも制限されるものではない。本開示に係る実施形態は、本開示に記載された全ての新規な特徴、又は、それらの組合せ、あるいは記載された全ての新規な方法、又は、処理のステップ、又は、それらの組合せに拡張することができる。
 本開示において「第1」及び「第2」等の記載は、当該構成を区別するための識別子である。本開示における「第1」及び「第2」等の記載で区別された構成は、当該構成における番号を交換することができる。例えば、第1の領域は、第2の領域と識別子である「第1」と「第2」とを交換することができる。識別子の交換は同時に行われる。識別子の交換後も当該構成は区別される。識別子は削除してよい。識別子を削除した構成は、符号で区別される。本開示における「第1」及び「第2」等の識別子の記載のみに基づいて、当該構成の順序の解釈、小さい番号の識別子が存在することの根拠に利用してはならない。
 2 ロボット
 2A アーム
 2B エンドエフェクタ
 4 カメラ
 5 ロボットの動作範囲
 6 作業開始台
 7 作業目標台
 10 保持パラメータ推定装置
 12 制御部
 14 インタフェース
 20 マスク画像
 22 窓
 24 マスク
 30 エンドエフェクタモデル
 31 開き幅モデル
 32 保持部位置
 34 ストローク範囲
 36 保持部の動作範囲
 38 動作外範囲
 40 周辺環境マップ
 41 アプローチ領域
 42 対象物領域
 43 非アプローチ領域
 44 第1の領域
 50 物体マップ
 52 断面
 60 接触マップ
 62 外周
 70 アプローチ位置
 72a、72b、72c 投影モデル
 74a、74c 保持部の投影位置
 80 保持対象物
 81 本体
 82 保持点
 83 鉤括弧状部材
 90 アプローチマップ
 91 アプローチ領域
 92 対象物領域
 93 非アプローチ領域
 94 第1の領域
 94ex 第1の領域を膨張させた領域
 95 境界
 96 第2の領域
 96ex 対象物領域を膨張させた領域
 97 障害物領域
 98 外部領域
 99 存在可能領域
 100 ロボット制御システム
 110 ロボット制御装置
 AL 可動直線
 CP1 第1中心位置
 C92 対象物領域の中心
 SL 対象物領域の中心を通り且つ障害物領域の外縁に一点において交わる直線
 WP 開き幅に対応する保持部の位置

Claims (14)

  1.  任意の開き幅で保持対象物を保持する保持部を有するエンドエフェクタに関する情報、前記保持対象物を示す保持対象情報、及び前記保持対象物に関するデプスデータを取得する取得部と、
     前記情報に基づいて該エンドエフェクタが存在しうる領域を示すエンドエフェクタモデルを取得し、該エンドエフェクタモデルと前記保持対象情報と前記デプスデータとに基づいて、該保持対象物を保持させるために前記保持部の開き幅を推定する制御部と、を備える
     保持パラメータ推定装置。
  2.  請求項1に記載の保持パラメータ推定装置において、
     前記制御部は、
     前記保持対象情報及び前記デプスデータに基づいて、前記保持対象物を保持する高さにおいて、前記エンドエフェクタを該保持対象物以外の物体に干渉させずに開き得るアプローチ領域を示すアプローチマップを作成し、
     前記アプローチ領域と前記エンドエフェクタが存在しうる領域とに基づき、前記開き幅を推定する
     保持パラメータ推定装置。
  3.  請求項2に記載の保持パラメータ推定装置において、
     前記アプローチ領域は、前記保持対象物の周囲で前記エンドエフェクタを保持対象物に干渉させずに開き得る領域から、前記保持対象物の存在領域と、該保持対象物以外の物体の存在領域における該保持対象物に面する外縁から前記保持対象物とは反対側を向く第1の領域とを除外した領域である
     保持パラメータ推定装置。
  4.  請求項3に記載の保持パラメータ推定装置において、
     前記エンドエフェクタは、前記保持対象物を保持する際に前記保持対象物に接触させる保持部を有し、
     前記アプローチ領域は、前記保持対象物の存在領域及び前記第1の領域を、前記エンドエフェクタが有する保持部の幅方向に該保持部の幅の半分以上の大きさ、且つ該保持部の太さ方向に該保持部の太さの半分以上の大きさで膨張させた領域を除外した領域である
     保持パラメータ推定装置。
  5.  請求項2から4のいずれか1項に記載の保持パラメータ推定装置において、
     前記制御部は、
     前記アプローチマップへの前記エンドエフェクタモデルの重合わせにおいて、前記アプローチ領域と前記エンドエフェクタモデルが重なる存在可能領域を、前記エンドエフェクタの保持部毎に推定し、
     前記保持部毎の前記存在可能領域の任意の地点を、該存在可能領域における前記開き幅に対応する保持部の位置として推定する
     保持パラメータ推定装置。
  6.  請求項5に記載の保持パラメータ推定装置において、
     前記保持部は、所定の方向に沿って移動可能に構成されており、
     前記制御部は、
     前記エンドエフェクタの保持部毎の前記存在可能領域の中心位置である第1中心位置を算出し、
     前記保持部の各々についての前記所定の方向に沿って、前記第1中心位置を起点として前記保持部を保持対象物へ向かって変位させた場合に、前記存在可能領域の端に到達するまでに前記保持部が通過する領域のうち、前記保持対象物及び該保持対象物以外の物体と干渉しない任意の位置を、該存在可能領域における前記開き幅に対応する保持部の位置として推定する
     保持パラメータ推定装置。
  7.  請求項6に記載の保持パラメータ推定装置において、
     前記制御部は、前記第1中心位置が、前記エンドエフェクタモデルにおける前記エンドエフェクタが存在しうる領域の中心位置を通る前記保持部の開閉方向に平行な可動直線から外れている場合、前記第1中心位置から該可動直線に下ろした垂線と該可動直線の交点を前記第1中心位置とみなして、前記開き幅に対応する保持部の位置を推定する
     保持パラメータ推定装置。
  8.  請求項6又は7に記載の保持パラメータ推定装置において、
     前記制御部は、前記第1中心位置から前記エンドエフェクタモデルにおける前記エンドエフェクタが存在しうる領域の中心位置に向けて変位させ、前記アプローチ領域が存在しない場合、前記第1中心位置より外側の前記存在可能領域において前記アプローチ領域を探索する
     保持パラメータ推定装置。
  9.  請求項2から8のいずれか1項に記載の保持パラメータ推定装置において、
     前記エンドエフェクタの保持部は、対向して移動可能な少なくとも2の部材により形成されている、
     保持パラメータ推定装置。
  10.  請求項1から9のいずれか1項に記載の保持パラメータ推定装置において、
     前記制御部は、
     前記開き幅の範囲内で前記エンドエフェクタが存在しうる領域を特定する開き幅モデルを作成し、
     前記保持対象情報に基づいて、前記エンドエフェクタが保持に使用すべき前記保持対象物の位置を規定するマップを含むルールマップを生成し、
     前記開き幅モデルと前記ルールマップとに基づいて、前記エンドエフェクタが前記保持対象物と接触する位置を保持位置として推定する
     保持パラメータ推定装置。
  11.  請求項10に記載の保持パラメータ推定装置において、
     前記制御部は、
     前記開き幅モデルと前記ルールマップとに基づいて、前記保持位置の適正さを表す適正値を複数の前記保持位置について算出し、
     前記適正値に基づいて前記保持位置を推定する
     保持パラメータ推定装置。
  12.  請求項11に記載の保持パラメータ推定装置において、
     前記開き幅モデル及び前記ルールマップは、各位置に割り当てた前記保持対象物を保持する位置としての適正さを示す値で表され、
     前記制御部は、前記開き幅モデルを前記ルールマップに重ねた場合に各位置に割り当てた値を演算することによって、前記適正値を算出する
     保持パラメータ推定装置。
  13.  請求項11又は12に記載の保持パラメータ推定装置において、
     前記制御部は、前記ルールマップに含まれる複数の前記マップに基づく前記適正値と、各々の前記マップについて定めたマップ係数とに基づいて、前記ルールマップに基づく前記適正値を算出する
     保持パラメータ推定装置。
  14.  保持対象物を保持する保持部を有するエンドエフェクタに関する情報、前記保持対象物を示す保持対象情報、及び前記保持対象物に関するデプスデータを取得し、
     前記情報に基づいて該エンドエフェクタが存在しうる領域を示すエンドエフェクタモデルを取得し、
     前記エンドエフェクタモデル、前記保持対象情報、及び前記デプスデータに基づいて、該保持対象物を保持させるために前記保持部の開き幅を推定する
     保持パラメータ推定方法。
PCT/JP2022/030016 2021-08-04 2022-08-04 保持パラメータ推定装置及び保持パラメータ推定方法 WO2023013743A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2023540418A JPWO2023013743A1 (ja) 2021-08-04 2022-08-04
CN202280054041.1A CN117794709A (zh) 2021-08-04 2022-08-04 握持参数估计设备和握持参数估计方法
EP22853161.2A EP4382266A1 (en) 2021-08-04 2022-08-04 Holding parameter estimation device and holding parameter estimation method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021128476 2021-08-04
JP2021-128476 2021-08-04

Publications (1)

Publication Number Publication Date
WO2023013743A1 true WO2023013743A1 (ja) 2023-02-09

Family

ID=85155801

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/030016 WO2023013743A1 (ja) 2021-08-04 2022-08-04 保持パラメータ推定装置及び保持パラメータ推定方法

Country Status (4)

Country Link
EP (1) EP4382266A1 (ja)
JP (1) JPWO2023013743A1 (ja)
CN (1) CN117794709A (ja)
WO (1) WO2023013743A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012066819A1 (ja) * 2010-11-17 2012-05-24 三菱電機株式会社 ワーク取り出し装置
JP2018205929A (ja) 2017-05-31 2018-12-27 株式会社Preferred Networks 学習装置、学習方法、学習モデル、検出装置及び把持システム
JP2019089157A (ja) * 2017-11-14 2019-06-13 オムロン株式会社 把持方法、把持システム及びプログラム
WO2021029064A1 (ja) * 2019-08-15 2021-02-18 オムロン株式会社 情報処理装置及び情報処理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012066819A1 (ja) * 2010-11-17 2012-05-24 三菱電機株式会社 ワーク取り出し装置
JP2018205929A (ja) 2017-05-31 2018-12-27 株式会社Preferred Networks 学習装置、学習方法、学習モデル、検出装置及び把持システム
JP2019089157A (ja) * 2017-11-14 2019-06-13 オムロン株式会社 把持方法、把持システム及びプログラム
WO2021029064A1 (ja) * 2019-08-15 2021-02-18 オムロン株式会社 情報処理装置及び情報処理方法

Also Published As

Publication number Publication date
EP4382266A1 (en) 2024-06-12
CN117794709A (zh) 2024-03-29
JPWO2023013743A1 (ja) 2023-02-09

Similar Documents

Publication Publication Date Title
JP5122887B2 (ja) 実写基盤移動機器の制御方法、装置および媒体
US10279473B2 (en) Image processing device, image processing method, and computer program
JP6271953B2 (ja) 画像処理装置、画像処理方法
Schmidt et al. Depth-based tracking with physical constraints for robot manipulation
US7280687B2 (en) Device for detecting position/orientation of object
JP7128933B2 (ja) 画像処理装置
US11969893B2 (en) Automated personalized feedback for interactive learning applications
JP6708260B2 (ja) 情報処理装置、情報処理方法、およびプログラム
US11833697B2 (en) Method of programming an industrial robot
JP4765075B2 (ja) ステレオ画像を利用した物体の位置および姿勢認識システムならびに物体の位置および姿勢認識方法を実行するプログラム
JP2015044257A (ja) ロボット、ロボット制御方法、及びロボット制御プログラム
US20230339118A1 (en) Reliable robotic manipulation in a cluttered environment
WO2023013743A1 (ja) 保持パラメータ推定装置及び保持パラメータ推定方法
WO2022250152A1 (ja) 保持位置決定装置、及び保持位置決定方法
WO2023013740A1 (ja) ロボット制御装置、ロボット制御システム、及びロボット制御方法
Pedrosa et al. A skill-based architecture for pick and place manipulation tasks
KR20220067719A (ko) 딥러닝과 마커를 이용한 비전인식을 통한 로봇 제어장치 및 그 방법
JP2022017738A (ja) 画像処理装置
Funakubo et al. Verification of illumination tolerance for clothes recognition
US20240144532A1 (en) CALIBRATION METHOD FOR CAMERA, and CAMERA CALIBRATION SYSTEM
TWI788253B (zh) 適應性移動操作設備及方法
US11348280B2 (en) Method and computer readable medium for pose estimation
US20230319419A1 (en) Network system, computer, and deep learning method
US20220415094A1 (en) Method and system for estimating gesture of user from two-dimensional image, and non-transitory computer-readable recording medium
US20230154162A1 (en) Method For Generating Training Data Used To Learn Machine Learning Model, System, And Non-Transitory Computer-Readable Storage Medium Storing Computer Program

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: 22853161

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2023540418

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 202280054041.1

Country of ref document: CN

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2022853161

Country of ref document: EP

Effective date: 20240304