WO2024190883A1 - 処理装置、載置部材及びプログラム - Google Patents

処理装置、載置部材及びプログラム Download PDF

Info

Publication number
WO2024190883A1
WO2024190883A1 PCT/JP2024/010085 JP2024010085W WO2024190883A1 WO 2024190883 A1 WO2024190883 A1 WO 2024190883A1 JP 2024010085 W JP2024010085 W JP 2024010085W WO 2024190883 A1 WO2024190883 A1 WO 2024190883A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
tip
contact
mounting member
opposing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2024/010085
Other languages
English (en)
French (fr)
Inventor
真洋 内竹
敬之 石田
博昭 宮村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kyocera Corp
Original Assignee
Kyocera Corp
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 Kyocera Corp filed Critical Kyocera Corp
Priority to JP2025507158A priority Critical patent/JPWO2024190883A1/ja
Publication of WO2024190883A1 publication Critical patent/WO2024190883A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/10Program-controlled manipulators characterised by positioning means for manipulator elements

Definitions

  • This disclosure relates to technology for controlling the movement of robots.
  • Patent document 1 describes technology related to a teaching method for a robot device.
  • Patent document 2 describes technology related to robot calibration.
  • the processing device includes an acquisition unit, a determination unit, and a lot control unit.
  • At least one mounting member is arranged on a work object mounting surface of an unfixed work table for the robot.
  • the acquisition unit acquires opposing member information when an opposing member of the robot is in contact with at least one mounting member.
  • the determination unit determines the orientation of the mounting surface as viewed from above or the three-dimensional orientation of the mounting surface based on the opposing member information.
  • the robot control unit controls the movement of the robot based on the orientation determined by the determination unit.
  • the mounting member is a mounting member that is placed on the mounting surface of the robot for the work object.
  • the mounting member has a groove portion into which the tip of the member placed on the robot fits.
  • the inner surface of the groove portion has multiple surfaces that each come into point contact with the tip.
  • the multiple surfaces of the mounting member have multiple opposing surfaces that face each other and a wall surface located at one end of the longitudinal direction of the groove.
  • the multiple opposing surfaces include an inclined surface that slopes outwardly toward the top.
  • the processing device includes a robot control unit that controls the robot so that the tip of the member moves within the groove of the mounting member.
  • the robot control unit identifies the contact state of the tip with the inner surface of the groove based on the detection result of a sensor that detects the force applied to the tip.
  • the robot control unit controls the robot so that the tip moves within the groove to the wall surface based on the identified contact state.
  • the program causes a computer device to function as the processing device described above.
  • FIG. 2 is a schematic diagram illustrating an example of a processing apparatus.
  • FIG. 1 is a schematic diagram illustrating an example of a robot and an example of a state around the robot.
  • FIG. 1 is a schematic diagram illustrating an example of a robot and an example of a state around the robot.
  • FIG. 4 is a schematic diagram illustrating an example of an opposing member.
  • FIG. 4 is a schematic diagram illustrating an example of a mounting member.
  • FIG. 4 is a schematic diagram illustrating an example of a mounting member.
  • FIG. 4 is a schematic diagram illustrating an example of a mounting member.
  • 4A and 4B are schematic diagrams showing examples of arrangement of mounting members on a mounting surface.
  • FIGS. 10A and 10B are schematic diagrams showing an example of a state in which an opposing member comes into contact with a mounting member.
  • 10 is a schematic diagram showing an example of a state in which an opposing member comes into contact with an inner surface of a mounting member at one point.
  • FIG. 10 is a schematic diagram showing an example of a state in which an opposing member comes into contact with an inner surface of a mounting member at two points.
  • FIG. 10 is a schematic diagram showing an example of a state in which an opposing member comes into three-point contact with an inner surface of a mounting member.
  • FIG. 10 is a flowchart showing an example of an operation of the processing device.
  • 4 is a schematic diagram showing the relationship between a mounting member and a sensor coordinate system.
  • FIGS. 10A to 10C are schematic diagrams showing an example of reference first contact position coordinates, reference second contact position coordinates, first contact position coordinates, and second contact position coordinates.
  • 10 is a schematic diagram for explaining an example of a method for identifying the attitude of a mounting table.
  • FIG. 10A and 10B are schematic diagrams showing examples of arrangement of two mounting members on a mounting surface.
  • 11 is a schematic diagram showing an example of reference second contact position coordinates and second contact position coordinates of two mounting members.
  • FIG. 10 is a schematic diagram for explaining an example of a method for identifying the attitude of a mounting table.
  • FIG. FIG. 4 is a schematic diagram illustrating an example of a mounting member.
  • FIG. 4 is a schematic diagram illustrating an example of a mounting member.
  • FIG. 4 is a schematic diagram showing an example of a tip portion of an opposing member.
  • FIG. FIG. 4 is a schematic diagram illustrating an example of a mounting member.
  • 10 is a schematic diagram showing an example of a state in which a tip portion of an opposing member comes into contact with a recessed portion of a mounting member.
  • FIG. FIG. 4 is a schematic diagram illustrating an example of a mounting member.
  • 10 is a schematic diagram showing an example of a state in which a tip portion of an opposing member fits into a recessed portion of a mounting member.
  • FIG. 10 is a schematic diagram for explaining an example of a method for identifying the attitude of a mounting table.
  • FIG. 10 is a schematic diagram for explaining an example of a method for identifying the attitude of a mounting table.
  • FIG. 10 is a schematic diagram for explaining an example of a method for identifying the attitude of a mounting table.
  • FIG. 1 is a schematic diagram showing an example of the configuration of the processing device 1.
  • the processing device 1 is capable of, for example, performing calibration to adjust the movement of the robot 10.
  • the processing device 1 is also capable of, for example, controlling the robot 10.
  • the processing device 1 can also be said to be a robot control device that controls the robot 10.
  • FIG. 2 is a schematic diagram showing an example of the robot 10 and an example of the surroundings of the robot 10.
  • the robot 10 performs work on, for example, an object 50 placed on the upper surface 35 of the work table 30.
  • the robot 10 may hold the object 50 on the work table 30 and move it to another location, or may change the orientation of the held object 50 and place it back on the work table 30.
  • the object 50 can also be said to be the work target 50 of the robot 10.
  • the upper surface 35 of the work table 30 can also be said to be the placement surface 35 on which the work target 50 is placed.
  • the position of the work target 50 (hereinafter also simply referred to as the object 50) on the placement surface 35 may be fixed, for example, by a fixing jig.
  • multiple objects 50 may be placed on the placement surface 35.
  • the object 50 may not be placed directly on the placement surface 35, but may be placed on the placement surface 35 via a container, for example. In other words, the object 50 may be placed in a container on the placement surface 35.
  • the shape of the placement surface 35 is, for example, rectangular.
  • the robot 10 includes, for example, an arm 11 and an end effector 15 connected to the arm 11.
  • the end effector 15 is capable of holding an object 50.
  • the arm 11 includes, for example, multiple joints.
  • the posture of the arm 11 changes as the amount of rotation of at least one of the multiple joints changes.
  • the change in posture of the arm 11 changes the position and posture of the end effector 15.
  • the change in posture of the arm 11 also changes the position and posture of the object 50 held by the end effector 15.
  • the end effector 15 is capable of, for example, grasping and holding the object 50 with multiple fingers.
  • the end effector 15 may hold the object 50 by suction.
  • the robot 10 may, for example, hold the object 50 with the end effector 15 and move the arm 11 (in other words, change the posture of the arm 11) to move the held object 50 to another location.
  • the robot 10 may also move the arm 11 (in other words, change the posture of the arm 11) to change the posture of the object 50 held by the end effector 15 (for example, flip the object 50 over), and then place it again on the placement surface 35.
  • the robot 10 is equipped with, for example, a force sensor 18.
  • the force sensor 18 is provided, for example, on the wrist portion of the end effector 15.
  • the force sensor 18 is capable of repeatedly detecting, for example, the force acting on the end effector 15.
  • the force sensor 18 may be, for example, a six-axis force sensor.
  • the force sensor 18 may be, for example, an electrical resistance type, an electrostatic capacitance type, a piezoelectric type, or an optical type.
  • the robot 10 is fixed, for example, to the upper surface 85 of the stand 80.
  • the robot 10 may be movable or transportable by the user during work.
  • the stand 80 may have a moving mechanism, such as casters, and the robot 10 may be movable or transportable together with the stand 80 during work.
  • One end of a holding arm 95 that holds a camera 90 is attached to the upper surface 85 of the stand 80.
  • the camera 90 is fixed to the other end of the holding arm 95.
  • the camera 90 is capable of photographing the placement surface 35 of the workbench 30.
  • the relative positional relationship between the camera 90 and the robot 10 is fixed.
  • Camera 90 is, for example, a three-dimensional camera. Camera 90 captures an image of the shooting range including the support surface 35 of workbench 30, and generates, for example, a two-dimensional color image and a distance image. Each pixel value of the color image includes, for example, an R component (red component), a G component (green component), and a B component (blue component). Such a color image is also called an RGB image. The color image shows the state of the shooting range.
  • the distance image is an image that represents, in two dimensions, the distance to each measurement point included in the shooting range. Each pixel value of the distance image indicates the distance to the measurement point corresponding to that pixel value.
  • the distance image is also called a depth image.
  • the camera 90 that photographs the workbench 30 may be held by a holding arm 96 extending from the workbench 30.
  • One end of the holding arm 96 is attached to the workbench 30, and the camera 90 is fixed to the other end of the holding arm 96.
  • a working point 200 of the robot 10 is set based on the mounting surface 35 of the worktable 30.
  • the working point 200 means the position of a specific part of the robot 10 when the robot 10 performs work.
  • the working point 200 can also be called the work position 200.
  • the processing device 1 controls the movement of the robot 10, moves the specific part of the robot 10 to the working point 200, and causes the robot 10 to perform work.
  • the robot 10 moves according to the working point 200.
  • the working point 200 is the position of the end effector 15 when holding the object 50.
  • the working point 200 may be set, for example, on the surface of the object 50 on the placement surface 35, or may be set near the object 50.
  • the processing device 1 moves the end effector 15 to the working point 200 and causes the end effector 15 to hold the object 50.
  • the robot 10 is equipped with a camera for photographing the mounting surface 35 of the worktable 30.
  • This camera is fixed to the end effector 15, for example.
  • the position of the camera when the robot 10 is performing the task of photographing the mounting surface 35 with the camera becomes the working point 200.
  • the working point 200 is set, for example, at a location a predetermined distance above the center of the mounting surface 35.
  • the processing device 1 moves the camera of the robot 10 to the working point 200 and causes the camera of the robot 10 to photograph the mounting surface 35.
  • multiple work points 200 are set relative to the placement surface 35, corresponding to each of the multiple objects 50. Even if the position and orientation of the placement surface 35 change, the relative position of the work point 200 with respect to the placement surface 35 remains constant. When a specific part of the robot 10 moves to the work point 200 and the robot 10 performs a task, this can be said to be a movement of the robot 10 relative to the placement surface 35. When at least one of the position and orientation of the placement surface 35 changes, causing the work point 200 to change, the movement of the robot 10 relative to the placement surface 35 changes. The robot 10 performs a movement according to the work point 200.
  • the processing device 1 stores position information of the working point 200 in the robot coordinate system 100 when the position and orientation of the mounting surface 35 of the worktable 30 are set to a predetermined position and orientation in the robot coordinate system 100 of the robot 10.
  • the position information of the working point 200 in the robot coordinate system 100 is expressed, for example, by the position coordinates of the working point 200 in the robot coordinate system.
  • the robot coordinate system 100 is an XYZ Cartesian coordinate system set in the robot 10 as shown in FIG. 2.
  • the origin of the robot coordinate system 100 is set, for example, at the end of the arm 11 of the robot 10 on the side of the base 80.
  • the XY plane of the robot coordinate system 100 is set parallel to the top surface 85 of the base 80, and the Z axis of the robot coordinate system 100 is set in a direction perpendicular to the top surface 85.
  • the X axis of the robot coordinate system 100 is set, for example, parallel to the short side direction of the rectangular top surface 85.
  • the Y axis of the robot coordinate system 100 is set, for example, parallel to the long side direction of the top surface 85.
  • the Z axis of the robot coordinate system 100 is, for example, approximately parallel to the direction of gravity.
  • the processing device 1 grasps the position and posture of the robot 10 in the robot coordinate system 100, and controls the movement of the robot 10 in the robot coordinate system 100.
  • the position and posture of an object such as a worktable may be collectively referred to as the position and posture.
  • the above-mentioned predetermined position and posture with respect to the placement surface 35 may be referred to as the reference position and posture.
  • the above-mentioned predetermined position with respect to the placement surface 35 may be referred to as the reference position, and the above-mentioned predetermined posture with respect to the placement surface 35 may be referred to as the reference posture.
  • the position information of the working point 200 in the robot coordinate system 100 when the position and posture of the placement surface 35 in the robot coordinate system 100 is set to the reference position and posture in the robot coordinate system 100 may be referred to as the reference working point position information.
  • the longitudinal direction and lateral direction of the placement surface 35 are parallel to the X-axis and Y-axis of the robot coordinate system 100, respectively, and the direction perpendicular to the placement surface 35 is parallel to the Z-axis of the robot coordinate system 100.
  • Figure 2 shows an example of the position and posture of the placement surface 35 being the reference position and posture.
  • the processing device 1 can move a specific part of the robot 10 (e.g., the end effector 15) to the working point 200 based on the reference working point position information. Therefore, when the position and posture of the mounting surface 35 is the reference position and posture, the robot 10 can properly perform work at the working point 200.
  • a specific part of the robot 10 e.g., the end effector 15
  • the processing device 1 attempts to move a specified part of the robot 10 to the working point 200, the actual destination will be a position shifted from the working point 200 by the amount that the position and orientation of the placement surface 35 deviates from the reference position and orientation.
  • position information and position coordinates means position information and position coordinates in the robot coordinate system 100.
  • the placement surface 35 may be referred to as the target placement surface 35.
  • the work table 30 equipped with the target placement surface 35 may be referred to as the target work table 30.
  • the placement member 40 on the target placement surface 35 may be referred to as the target placement member 40.
  • the processing device 1 can correct the reference work point position information and obtain the position information of the work point 200 based on the target placement surface 35.
  • a mounting member 40 arranged on the mounting surface 35 and an opposing member 60 arranged on the robot 10 are used.
  • the opposing member 60 is positioned so as to face the mounting surface 35.
  • Each of the mounting member 40 and the opposing member 60 can also be considered a calibration member.
  • the opposing member 60 is attached to, for example, the end effector 15.
  • the opposing member 60 may be removably fixed to, for example, the housing of the end effector 15.
  • the opposing member 60 is, for example, a rod-shaped member.
  • the tip of the opposing member 60 is rounded.
  • the opposing member 60 includes, for example, a rod-shaped portion 61 and a tip portion 65 connected to one end of the rod-shaped portion 61.
  • the tip portion 65 is, for example, spherical.
  • the other end of the rod-shaped portion 61 is attached to the end effector 15.
  • the tip portion 65 of the opposing member 60 comes into contact with the mounting member 40.
  • the position and orientation of the tip portion 65 of the opposing member 60 relative to the robot 10 or the end effector 15 are fixed.
  • the tip 65 of the opposing member 60 may be, for example, hemispherical, as shown in FIG. 4.
  • the end effector 15 may have a recess into which the opposing member 60 is inserted.
  • the recess may be, for example, a screw hole, and the other end of the opposing member 60 (i.e., the end opposite the tip 65) may be, for example, a screw, so that the opposing member 60 can be fixed to the end effector 15.
  • the other end of the opposing member 60 may have an indication line indicating a predetermined insertion depth so that the relative position and posture of the tip 65 of the opposing member 60 and the robot 10 or the end effector 15 are constant.
  • the mounting member 40 is, for example, fixedly positioned with respect to the mounting surface 35.
  • the position and orientation of the mounting member 40 relative to the mounting surface 35 is fixed. Even if at least one of the position and orientation of the mounting surface 35 changes, the position of the work point 200 relative to the mounting member 40 with respect to the mounting surface 35 as a reference is constant. It can also be said that the position of the work point 200 relative to the mounting member 40 is constant even if at least one of the position and orientation of the mounting member 40 changes.
  • FIG. 5 is a schematic perspective view showing an example of the mounting member 40.
  • FIG. 6 is a schematic plan view showing an example of the mounting member 40.
  • FIG. 7 is a schematic side view showing an example of the mounting member 40.
  • the mounting member 40 has a recess 41 into which the tip 65 of the opposing member 60 arranged on the robot 10 fits.
  • the recess 41 opens toward the upper surface 40a of the mounting member 40, for example.
  • the bottom surface 40b of the mounting member 40 is flat, for example.
  • the recess 41 is, for example, a groove portion.
  • the recess 41 is a V-groove portion.
  • the recess 41 that is a groove portion may be referred to as the groove portion 41.
  • each opposing surface 43 is, for example, an inclined surface that slopes outwardly toward the upper side.
  • each opposing surface 43 is, for example, an inclined surface that slopes outwardly in a direction perpendicular to the mounting surface 35.
  • each opposing surface 43 is an inclined surface that slopes outwardly in a direction perpendicular to the depth direction of the groove portion 41.
  • the wall surface 44 is, for example, parallel to the direction perpendicular to the mounting surface 35.
  • the opposing surface 43 shown on the right side of Fig. 7 may be referred to as the first opposing surface 43a, and the opposing surface 43 shown on the left side of Fig. 7 may be referred to as the second opposing surface 43b.
  • the direction from the opening 45 along the groove 41 toward the wall surface 44 may be referred to as the depth direction of the mounting member 40
  • the direction from the wall surface 44 toward the opening 45 along the groove 41 (the front direction of the paper in Fig. 7) may be referred to as the front direction of the mounting member 40.
  • the direction from the bottom surface 40b toward the top surface 40a along the depth direction of the groove 41 may be referred to as the upward direction of the mounting member 40
  • the direction from the top surface 40a toward the bottom surface 40b along the depth direction of the groove 41 may be referred to as the downward direction of the mounting member 40
  • the direction from the first opposing surface 43a to the second opposing surface 43b along the direction perpendicular to the depth and longitudinal directions of the groove 41 (left direction in FIG. 7) may be referred to as the left direction of the mounting member 40.
  • the direction from the second opposing surface 43b to the first opposing surface 43a along the direction perpendicular to the depth and longitudinal directions of the groove 41 (right direction in FIG. 7) may be referred to as the right direction of the mounting member 40.
  • FIG. 8 is a schematic diagram showing an example of the placement of the mounting member 40 on the mounting surface 35.
  • FIG. 8 shows the mounting surface 35 in the reference position and orientation.
  • the mounting member 40 is placed at the end of the mounting surface 35.
  • the mounting member 40 is placed at a corner of the mounting surface 35.
  • the mounting member 40 is less likely to interfere with the work of the robot 10.
  • the mounting member 40 is placed at a corner of the mounting surface 35 as in the example of FIG. 8, the mounting member 40 is even less likely to interfere with the work of the robot 10.
  • the position and orientation of the mounting member 40 on the mounting surface 35 are not limited to the example of FIG. 8.
  • the mounting member 40 may have a linear or right-angled step on its bottom surface, and the step may be arranged to engage with the edge or corner of the workbench 30.
  • Figure 8 shows the relationship between the mounting surface 35 in the reference position and posture on which the mounting member 40 is placed and the robot coordinate system 100.
  • the Z axis of the robot coordinate system 100 is, for example, parallel to the depth direction of the groove portion 41 of the mounting member 40 on the mounting surface 35 in the reference position and posture.
  • the Z axis of the robot coordinate system 100 is, for example, parallel to the up-down direction of the mounting member 40 on the mounting surface 35 in the reference position and posture.
  • the positive direction of the Z axis of the robot coordinate system 100 is set, for example, in the same direction as the upward direction of the mounting member 40 on the mounting surface 35 in the reference position and posture.
  • the Y axis of the robot coordinate system 100 is, for example, parallel to the longitudinal direction (in other words, the extension direction) of the groove portion 41 of the mounting member 40 on the mounting surface 35 in the reference position and posture.
  • the positive direction of the Y axis of the robot coordinate system 100 is set, for example, in the same direction as the depth direction of the mounting member 40 on the mounting surface 35 in the reference position and posture.
  • the X-axis of the robot coordinate system 100 is, for example, parallel to a direction perpendicular to the depth direction and longitudinal direction of the groove portion 41 of the mounting member 40 on the mounting surface 35 in the reference position and posture (the left-right direction in FIG. 8).
  • the X-axis of the robot coordinate system 100 is, for example, parallel to the left-right direction of the mounting member 40 on the mounting surface 35 in the reference position and posture.
  • the positive direction of the X-axis of the robot coordinate system 100 is set, for example, in the same direction as the left direction of the mounting member 40 on the mounting surface 35 in the reference position and posture.
  • FIG. 9 is a schematic diagram showing an example of the state in which the tip 65 comes into contact with the inner surface 42 of the groove portion 41.
  • the tip 65 makes point contact with each of the pair of opposing surfaces 43 of the groove portion 41.
  • the tip 65 also makes point contact with the wall surface 44 of the groove portion 41. It can be said that the mounting member 40 has multiple surfaces, each of which makes point contact with the tip 65.
  • the posture of the mounting surface 35 of the workbench 30 is determined based on the opposing member information regarding the opposing member 60 acquired when the opposing member 60 is in contact with the mounting member 40.
  • the opposing member information acquired when the opposing member 60 is in contact with the mounting member 40 may be referred to as contact opposing member information.
  • the contact opposing member information includes, for example, position information of the tip 65 when the tip 65 is in contact with a predetermined location on the inner surface 42 of the groove 41.
  • the contact opposing member information includes position information of the tip 65 at a predetermined contact position of the tip 65 on the inner surface 42 of the groove 41.
  • this position information may be referred to as contact position information.
  • the contact position information is expressed, for example, in position coordinates in the robot coordinate system.
  • the movement of the robot 10 relative to the mounting surface 35 is adjusted based on the identified posture of the mounting surface 35 (also referred to as the specific posture of the mounting surface 35) and the contact position information included in the contact opposing member information. This allows the movement of the robot 10 relative to the mounting surface 35 to be appropriately adjusted. For example, based on the specific posture of the mounting surface 35 and the contact position information, the reference working point position information is corrected to determine the current position information of the working point 200. Calibration will be explained in detail later.
  • the processing device 1 includes, for example, a control unit 2, a storage unit 3, an interface 4, and an interface 5.
  • the processing device 1 may also be referred to as, for example, a processing circuit.
  • the interface 4 is capable of communicating with the camera 90.
  • the control unit 2 can acquire images generated by the camera 90 through the interface 4.
  • the interface 4 can also be called, for example, an interface circuit, a communication unit, or a communication circuit.
  • the interface 4 may communicate with the camera 90 via wired communication or wireless communication.
  • the interface 5 is capable of communicating with the robot 10.
  • the control unit 2 is capable of controlling the robot 10 through the interface 5.
  • the interface 5 can be, for example, an interface circuit, a communication unit, or a communication circuit.
  • the interface 5 may communicate with the robot 10 via wired communication or wireless communication.
  • the control unit 2 is capable of overall management of the operation of the processing device 1 by controlling the other components of the processing device 1.
  • the control unit 2 can be, for example, a control circuit.
  • the control unit 2 includes at least one processor to provide control and processing power to perform various functions, as described in more detail below.
  • the at least one processor may be implemented as a single integrated circuit (IC) or as multiple communicatively connected integrated circuits ICs and/or discrete circuits.
  • the at least one processor may be implemented according to various known techniques.
  • a processor includes one or more circuits or units configured to perform one or more data computation procedures or processes, e.g., by executing instructions stored in associated memory.
  • a processor may be firmware (e.g., discrete logic components) configured to perform one or more data computation procedures or processes.
  • the processor may include one or more processors, controllers, microprocessors, microcontrollers, application specific integrated circuits (ASICs), digital signal processors, programmable logic devices, field programmable gate arrays, or any combination of these devices or configurations, or other known devices and configurations, to perform the functions described below.
  • ASICs application specific integrated circuits
  • digital signal processors programmable logic devices, field programmable gate arrays, or any combination of these devices or configurations, or other known devices and configurations, to perform the functions described below.
  • the control unit 2 may, for example, include a CPU (Central Processing Unit) as a processor.
  • the memory unit 3 may include a non-transitory recording medium readable by the CPU of the control unit 2, such as a ROM (Read Only Memory) and a RAM (Random Access Memory).
  • the memory unit 3 stores, for example, a program 3a for controlling the processing device 1.
  • the various functions of the control unit 2 are realized, for example, by the CPU of the control unit 2 executing the program 3a in the memory unit 3.
  • the memory unit 3 stores reference working point position information.
  • control unit 2 may include multiple CPUs.
  • the control unit 2 may also include at least one DSP (Digital Signal Processor). All or some of the functions of the control unit 2 may be realized by a hardware circuit that does not require software to realize the function.
  • the memory unit 3 may also include a non-transitory computer-readable recording medium other than ROM and RAM.
  • the memory unit 3 may include, for example, a small hard disk drive and an SSD (Solid State Drive).
  • the control unit 2 performs calibration to adjust the movement of the robot 10 based on the placement surface 35.
  • the control unit 2 for example, acquires contact opposing member information, and identifies the posture of the placement surface 35 of the worktable 30 based on the acquired contact opposing member information. Then, the control unit 2 corrects the reference work point position information based on the identified posture of the placement surface 35 and the contact position information included in the contact opposing member information, and obtains the current position information of the work point 200.
  • the control unit 2 includes, for example, a robot control unit 20 that controls the robot 10, an identification unit 25, and an acquisition unit 27.
  • the robot control unit 20, the identification unit 25, and the acquisition unit 27 are functional blocks formed in the control unit 2, for example, when the CPU of the control unit 2 executes a program 3a in the storage unit 3. Note that all or some of the functions of the robot control unit 20 may be realized by a hardware circuit that does not require software to realize the function. The same applies to the identification unit 25 and the acquisition unit 27.
  • the acquisition unit 27 can acquire the contact opposing member information.
  • the identification unit 25 identifies the posture of the target placement surface 35 based on the contact opposing member information acquired by the acquisition unit 27.
  • the identification unit 25 identifies, for example, the three-dimensional posture (referred to as the three-dimensional posture) of the target placement surface 35 based on the contact opposing member information.
  • the robot control unit 20 adjusts the movement of the robot 10 based on the target placement surface 35 as a reference, based on the posture (e.g., the three-dimensional posture) of the target placement surface 35 identified by the identification unit 25 and the contact position information included in the contact opposing member information.
  • the robot control unit 20 corrects the reference working point position information based on, for example, the posture of the target placement surface 35 identified by the identification unit 25 and the contact position information included in the contact opposing member information, to obtain current position information of the working point 200.
  • the robot control unit 20 controls the robot 10 through the interface 5.
  • the robot control unit 20 also determines the contact state of the tip 65 of the opposing member 60 with the inner surface 42 of the groove 41 of the mounting member 40.
  • the force sensor 18 also simply called the sensor 18 provided in the robot 10 detects the force acting on the tip 65 during calibration.
  • the robot control unit 20 determines the contact state of the tip 65 with the inner surface 42 of the groove 41 based on the detection result of the sensor 18.
  • the sensor 18 outputs force detection information indicating the detection result.
  • the robot control unit 20 acquires the force detection information output from the sensor 18 through the interface 5.
  • the robot control unit 20 determines the contact state of the tip 65 with the inner surface 42 of the groove 41 based on the acquired force detection information.
  • the robot control unit 20 controls the movement of the robot 10 so that the tip 65 of the opposing member 60 moves within the groove 41 based on the determination result of the contact state of the tip 65 with the inner surface 42 of the groove 41.
  • the operator instructs the processing device 1 to perform calibration.
  • the processing device 1 has an input unit that accepts instructions input by the operator, the operator may instruct the processing device 1 to perform calibration through the input unit.
  • the input unit provided in the processing device 1 may include, for example, a mouse, a keyboard, a touch sensor, etc.
  • the operator may also instruct the processing device 1 to perform calibration using an information processing terminal that can communicate with the processing device 1 via a network.
  • the information processing terminal may be, for example, a notebook or desktop personal computer, or a tablet terminal.
  • the processing device 1 When the processing device 1 receives an instruction to perform calibration, it starts calibrating the robot 10. During the calibration, the robot control unit 20 of the processing device 1 determines whether the tip 65 is in contact with only the first opposing surface 43a based on the force detection information output from the sensor 18. When the tip 65 is not in contact with the first opposing surface 43a, the robot control unit 20 controls the movement of the robot 10 so that the tip 65 moves downward (toward the ground or floor) so that the tip 65 is in contact with only the first opposing surface 43a.
  • FIG. 10 is a schematic diagram showing an example of how the tip 65 moves downward and contacts only the first opposing surface 43a of the groove 41. When the tip 65 contacts only the first opposing surface 43a of the groove 41, the tip 65 comes into contact with the inner surface 42 of the groove 41 at one point.
  • the tip 65 when the tip 65 contacts only the first opposing surface 43a, the tip 65 receives a force 310a directed upward from the mounting member 40 and a force 300a directed leftward from the mounting member 40.
  • the tip 65 when the tip 65 contacts only the first opposing surface 43a of the groove portion 41, the tip 65 receives a force 310a directed upward from the mounting member 40 and a force 300a directed leftward from the mounting member 40.
  • the force 300a may be referred to as the leftward force 300a
  • the force 310a may be referred to as the upward force 310a.
  • the robot control unit 20 controls the robot 10 based on the force detection information so that the tip 65 moves along the first opposing surface 43a toward the bottom of the inner surface 42 of the groove 41.
  • the robot control unit 20 determines that the tip 65 has reached the bottom of the inner surface 42 of the groove 41 and is in contact only with the first opposing surface 43a and the second opposing surface 43b.
  • Figure 11 is a schematic diagram showing an example of the tip 65 in contact only with the first opposing surface 43a and the second opposing surface 43b.
  • the determination unit 25 of the processing device 1 stores the current position information of the tip 65, that is, the position information of the tip 65 at the first contact position on the inner surface 42 of the groove portion 41, as first contact position information.
  • the tip 65 in contact only with the first opposing surface 43a and the second opposing surface 43b makes two-point contact with the inner surface 42 of the groove portion 41.
  • the first contact position can also be said to be, for example, the two-point contact position of the tip 65 on the inner surface 42.
  • the first contact position is located on the inner surface 42.
  • the processing device 1 determines that the tip 65 is in contact only with the first opposing surface 43a and the second opposing surface 43b based on the force detection information.
  • the tip 65 when the tip 65 contacts only the first opposing surface 43a and the second opposing surface 43b, the tip 65 receives an upward force 300a and a leftward force 310a from the first opposing surface 43a, and receives a force 310b (also referred to as upward force 310b) directed toward the upper side of the target mounting member 40 and a force 300b (also referred to as rightward force 300b) directed toward the right side of the target mounting member 40 from the second opposing surface 43b.
  • the tip 65 contacts only the first opposing surface 43a and the second opposing surface 43b, it receives the upward force 300a and the leftward force 310a, and the upward force 310b and the rightward force 300b.
  • the force acting on the tip 65 in the left-right direction of the target placement member 40 is smaller than when the tip 65 contacts only the first opposing surface 43a.
  • the upward forces 310a and 310b increase the force acting on the tip 65 in the up-down direction of the target placement member 40.
  • the robot control unit 20 controls the robot 10 based on the force detection information so that the tip 65 moves along the groove 41 toward the wall surface 44.
  • the robot control unit 20 determines that the tip 65 reaches the wall surface 44 of the groove 41 and the tip 6 is in contact with only the first opposing surface 43a, the second opposing surface 43b, and the wall surface 44.
  • Figure 12 is a schematic diagram showing an example of the tip 6 in contact with only the first opposing surface 43a, the second opposing surface 43b, and the wall surface 44.
  • the determination unit 25 stores the current position information of the tip 65, that is, the position information of the tip 65 at the second contact position of the inner surface 42 of the groove portion 41, as second contact position information.
  • the tip 65 in contact only with the first opposing surface 43a, the second opposing surface 43b, and the wall surface 44 is in three-point contact with the inner surface 42 of the groove portion 41.
  • the second contact position can be said to be, for example, the three-point contact position of the tip 65 on the inner surface 42.
  • the second contact position is located away from the first contact position along the placement surface 35.
  • the second contact position is located away from the first contact position along the longitudinal direction of the groove portion 41 on the inner surface 42 of the groove portion 41.
  • the second contact position can also be said to be the contact position of the opposing member 60 with the wall surface 44.
  • the processing device 1 determines that the tip 65 is in contact only with the first opposing surface 43a, the second opposing surface 43b, and the wall surface 44.
  • the tip 65 when the tip 65 is in contact only with the first opposing surface 43a, the second opposing surface 43b, and the wall surface 44, the tip 65 receives an upward force 300a and a leftward force 310a from the first opposing surface 43a, and receives an upward force 300b and a rightward force 310b from the second opposing surface 43b.
  • the tip 65 also receives a force 320 (also called a forward force 320) directed toward the front of the target placement member 40 from the wall surface 44.
  • the tip 65 When the tip 65 is in contact only with the first opposing surface 43a, the second opposing surface 43b, and the wall surface 44, the tip 65 receives the upward force 300a and the leftward force 310a, the upward force 300b and the rightward force 310b, and the forward force 320.
  • the identification unit 25 of the processing device 1 identifies the posture of the target placement surface 35 based on the first contact position information and the second contact position information.
  • the first contact position information and the second contact position information can be said to be information about the opposing member 60 acquired when the opposing member 60 is in contact with the target placement member 40, that is, contact opposing member information.
  • the robot control unit 20 corrects the reference work point position information based on the specific posture of the target placement surface 35 and the second contact position information to obtain current position information of the work point 200.
  • the robot control unit 20 can appropriately move a specific part of the robot 10 (e.g., the end effector 15) to the work point 200 based on the position information obtained for the work point 200, and cause the robot 10 to perform work at the work point 200. It can be said that the robot control unit 20 controls the movement of the robot 10 based on the specific posture of the target placement surface 35 and the second contact position information.
  • a specific part of the robot 10 e.g., the end effector 15
  • an xyz orthogonal coordinate system 180 is set in the sensor 18.
  • the xyz orthogonal coordinate system 180 set in the sensor 18 is referred to as the sensor coordinate system 180.
  • the x-axis, y-axis, and z-axis of the sensor coordinate system 180 are referred to as the sensor x-axis, the sensor y-axis, and the sensor z-axis, respectively.
  • the x-axis, y-axis, and z-axis of the sensor coordinate system 180 are referred to as the sensor x-direction, the sensor y-direction, and the sensor z-direction, respectively.
  • the positive and negative directions of the sensor x-axis are referred to as the sensor +x-direction and the sensor -x-direction, respectively.
  • the positive and negative directions of the sensor y-axis are referred to as the sensor +y-direction and the sensor -y-direction, respectively.
  • the positive and negative directions of the sensor z-axis are referred to as the sensor +z-direction and the sensor -z-direction, respectively.
  • the sensor 18 detects a force in the sensor x direction acting on the tip 65 of the opposing member 60, a force in the sensor y direction acting on the tip 65, and a force in the sensor z direction acting on the tip 65.
  • the force in the sensor x direction detected by the sensor 18 will be referred to as the sensor x direction detection force.
  • the force in the sensor y direction detected by the sensor 18 will be referred to as the sensor y direction detection force.
  • the force in the sensor z direction detected by the sensor 18 will be referred to as the sensor z direction detection force.
  • the force detection information output from the sensor 18 includes the sensor x-direction detection force, the sensor y-direction detection force, and the sensor z-direction detection force.
  • the effect of gravity is cancelled out in the force detection information output from the sensor 18. Therefore, when an object is not in contact with the end effector 15 and the opposing member 60, the sensor x-direction detection force, the sensor y-direction detection force, and the sensor z-direction detection force included in the force detection information are each zero.
  • the sensor z direction is set along the longitudinal direction of the opposing member 60 (in other words, the longitudinal direction of the rod-shaped portion 61).
  • the sensor +z direction is set in the same direction as the direction from the base side of the opposing member 60 (in other words, the end effector 15 side) toward the tip portion 65.
  • FIG. 13 is a flow chart showing an example of calibration.
  • the processing device 1 receives an instruction to perform calibration, and the robot control unit 20 changes the posture of the arm 11 so that the orientation of the sensor +z direction is the same as the positive direction of the Z axis of the robot coordinate system 100.
  • the sensor -z direction is roughly the same as the direction of gravity.
  • the sensor z axis is parallel to the Z axis of the robot coordinate system 100.
  • the direction perpendicular to the target placement surface 35 does not change significantly from the direction perpendicular to the placement surface 35 in the reference position and posture.
  • the direction perpendicular to the target placement surface 35 does not deviate by more than 5 degrees from the direction perpendicular to the placement surface 35 in the reference position and posture. Therefore, the direction perpendicular to the target placement surface 35 is always approximately parallel to the Z axis of the robot coordinate system.
  • the depth direction of the groove portion 41 of the target placement member 40 on the target placement surface 35 (in other words, the up-down direction of the target placement member 40) is always approximately parallel to the Z axis of the robot coordinate system.
  • the upward direction of the target placement member 40 is approximately the same as the positive direction of the Z axis of the robot coordinate system.
  • step s2 the robot control unit 20 determines whether the tip 65 of the opposing member 60 is in contact only with the first opposing surface 43a of the inner surface 42 of the groove portion 41 of the target placement member 40. In other words, the robot control unit 20 determines whether the tip 65 is in one-point contact with the inner surface 42 of the groove portion 41. In step s2, the robot control unit 20 determines that the tip 65 is in contact only with the first opposing surface 43a, for example, if the sensor z-direction detection force is positive and the absolute value of the sensor z-direction detection force is greater than the first threshold value.
  • the tip 65 when the tip 65 contacts only the first opposing surface 43a, the tip 65 receives an upward force 310a directed upward from the target placement member 40.
  • the sensor +z direction is the same as the positive direction of the Z axis of the robot coordinate system, and the positive direction of the Z axis of the robot coordinate system is generally the same as the upward direction of the target placement member 40. Therefore, the sensor +z direction is generally the same as the upward force 310a. Therefore, when the tip 65 contacts only the first opposing surface 43a, the sensor z direction detection force becomes positive, and the absolute value of the sensor z direction detection force becomes large.
  • the robot control unit 20 can appropriately identify that the tip 65 contacts only the first opposing surface 43a by determining that the tip 65 contacts only the first opposing surface 43a.
  • step s3 is executed.
  • the robot control unit 20 moves the tip 65 in the sensor z direction until the absolute value of the sensor z direction detection force becomes greater than the first threshold value, so that the tip 65 contacts only the first opposing surface 43a.
  • step s4 is executed. If step s3 is executed, step s4 is executed. In step s4, the robot control unit 20 changes the posture of the arm 11 of the robot 10 so that the orientation of the sensor +z direction and the position of the tip 65 set in step s1 do not change, and so that the sensor +x direction is roughly the same as the left direction of the target placement member 40.
  • the sensor +z direction is the same as the upward direction of the target placement member 40
  • the sensor +x direction is the same as the left direction of the target placement member 40.
  • the sensor x-direction detection force becomes positive
  • the absolute value of the sensor x-direction detection force becomes large.
  • the absolute value of the sensor y-direction detection force becomes zero.
  • step s4 the robot control unit 20 changes the posture of the arm 11 so that the end effector 15 rotates around the sensor z-axis as the rotation axis, and sets the posture of the end effector 15 to a posture in which the absolute value of the sensor y-direction detection force is minimum and the sensor x-direction detection force is positive.
  • the sensor +x direction is approximately the same as the left direction of the target placement member 40.
  • FIG. 14 is a schematic diagram showing an example of the relationship between the sensor coordinate system 180 and the target placement member 40 after execution of step s4. After step s4 is performed, as shown in FIG. 14, the sensor +x direction is generally oriented to the left of the target placement member 40, the sensor +z direction is generally oriented to the upward direction of the target placement member 40, and the sensor +y direction is generally oriented to the rear of the target placement member 40.
  • step s5 the robot control unit 20 first moves the tip 65 in the sensor +x direction until the absolute value of the sensor z direction detection force becomes equal to or less than the first threshold value.
  • the robot control unit 20 moves the tip 65 in the sensor -z direction until the absolute value of the sensor z direction detection force becomes equal to or greater than the first threshold value.
  • step s7 is executed.
  • step s7 is executed.
  • the robot control unit 20 determines that the tip 65 is in two-point contact with the inner surface 42 of the groove portion 41.
  • step s7 is executed.
  • the robot control unit 20 determines that the tip 65 is in contact only with the first opposing surface 43a and the second opposing surface 43b.
  • the robot control unit 20 determines that the tip 65 is in contact only with the first opposing surface 43a and the second opposing surface 43b, and is thereby able to appropriately identify that the tip 65 is in contact only with the first opposing surface 43a and the second opposing surface 43b.
  • the identification unit 25 acquires the current position information of the tip 65 and stores it in the storage unit 3 as first contact position information.
  • the identification unit 25 stores the position information of the tip 65 that is in contact with only the first opposing surface 43a and the second opposing surface 43b in the storage unit 3 as first contact position information. It can also be said that the identification unit 25 stores the position information of the tip 65 that is in two-point contact with the inner surface 42 of the groove portion 41 in the storage unit 3 as first contact position information.
  • the first contact position information for example, the position coordinates in the robot coordinate system 100 for the tip 65 that is in contact with only the first opposing surface 43a and the second opposing surface 43b are adopted. Hereinafter, these position coordinates may be referred to as first contact position coordinates.
  • the robot 10 is equipped with angle sensors that detect the rotation angle of each joint of the arm 11.
  • the identification unit 25 can obtain current position information of the tip 65 based on the rotation angle detected by each angle sensor, robot shape information representing the shape of the robot 10, and opposing member shape information representing the shape of the opposing member 60.
  • the identification unit 25 can obtain the rotation angle detected by each angle sensor of the robot 10 through the interface 5.
  • the robot shape information and opposing member shape information are stored in the memory unit 3.
  • the first contact position information acquired by the identification unit 25 may be referred to as acquired first contact position information.
  • the first contact position coordinates acquired by the identification unit 25 may be referred to as acquired first contact position coordinates.
  • step s8 the robot control unit 20 moves the tip 65 in the groove 41 toward the wall surface 44 of the groove 41.
  • step s8 the robot control unit 20 moves the tip 65 in the groove 41 toward the wall surface 44 of the groove 41 by moving the tip 65 in the sensor +y direction.
  • the robot control unit 20 moves the tip 65 in the +y direction, if the two-point contact maintenance condition for maintaining appropriate two-point contact of the tip 65 with the inner surface 42 of the groove 41 is no longer satisfied, the robot control unit 20 moves the tip 65 in the sensor z direction or the sensor x direction so that the two-point contact maintenance condition is satisfied.
  • the two-point contact maintenance condition is composed of a first condition related to the sensor z-direction detection force and a second condition related to the sensor x-direction detection force. When both the first condition and the second condition are satisfied, the two-point contact maintenance condition is satisfied.
  • the first condition is, for example, that the sensor z-direction detection force is positive and that the absolute value of the sensor z-direction detection force is within a predetermined range.
  • the predetermined range is, for example, greater than or equal to the third threshold value and less than or equal to the second threshold value.
  • the third threshold value is smaller than the second threshold value.
  • the third threshold value may be the same as the first threshold value, or may be smaller than the first threshold value, or may be greater than the first threshold value.
  • the second condition is that the absolute value of the sensor x-direction detection force is small.
  • the second condition is that the absolute value of the sensor x-direction detection force is smaller than the fourth threshold value.
  • the first and second conditions are satisfied, reducing the possibility that the two-point contact of the tip 65 will not be maintained, or that the tip 65 will be pressed too hard against the inner surface 42 of the groove 41, damaging the opposing member 60.
  • step s9 When the robot control unit 20 determines that the tip 65 is in contact only with the first opposing surface 43a, the second opposing surface 43b, and the wall surface 44 while moving the tip 65 toward the wall surface 44 (step s9), it causes the robot 10 to stop the movement of the tip 65. In other words, when the robot control unit 20 determines that the tip 65 is in three-point contact with the inner surface 42 of the groove portion 41, it causes the robot 10 to stop the movement of the tip 65. When the movement of the tip 65 stops, step s11 is executed.
  • the robot control unit 20 determines that the tip 65 is in contact only with the first opposing surface 43a, the second opposing surface 43b, and the wall surface 44.
  • the identification unit 25 stores the current position information of the tip 65 as second contact position information in the storage unit 3.
  • the identification unit 25 stores the position information of the tip 65 that is in contact only with the first opposing surface 43a, the second opposing surface 43b, and the wall surface 44 as second contact position information in the storage unit 3. It can also be said that the identification unit 25 stores the position information of the tip 65 that is in three-point contact with the inner surface 42 of the groove portion 41 as second contact position information in the storage unit 3.
  • the second contact position information for example, the position coordinates in the robot coordinate system 100 of the tip 65 that is in contact only with the first opposing surface 43a, the second opposing surface 43b, and the wall surface 44 are adopted. Hereinafter, these position coordinates may be referred to as second contact position coordinates.
  • the second contact position information acquired by the identification unit 25 may be referred to as acquired second contact position information.
  • the second contact position coordinates acquired by the identification unit 25 may be referred to as acquired second contact position coordinates.
  • step s12 the identification unit 25 identifies the posture of the target placement surface 35 based on the acquired first contact position information and the acquired second contact position information in the memory unit 3.
  • the memory unit 3 stores position information of the tip 65 when it makes two-point contact with the inner surface 42 of the groove 41 of the mounting member 40 on the mounting surface 35 in the reference position and posture as reference first contact position information.
  • the reference first contact position information can also be said to be position information of the tip 65 that makes contact only with the first opposing surface 43a and the second opposing surface 43b of the mounting member 40 on the mounting surface 35 in the reference position and posture.
  • the reference first contact position information for example, the position coordinates in the robot coordinate system 100 of the tip 65 when it makes two-point contact with the inner surface 42 of the groove 41 of the mounting member 40 on the mounting surface 35 in the reference position and posture are used.
  • these position coordinates may be referred to as reference first contact position coordinates.
  • the memory unit 3 stores position information of the tip 65 when it makes three-point contact with the inner surface 42 of the groove 41 of the mounting member 40 on the work table 30 in the reference position and posture as reference second contact position information.
  • the reference second contact position information can also be said to be position information of the tip 65 that makes contact only with the first opposing surface 43a, the second opposing surface 43b, and the wall surface 44 of the mounting member 40 on the work table 30 in the reference position and posture.
  • the reference second contact position information for example, the position coordinates in the robot coordinate system 100 of the tip 65 when it makes three-point contact with the inner surface 42 of the groove 41 of the mounting member 40 on the work table 30 in the reference position and posture are used.
  • these position coordinates may be referred to as reference second contact position coordinates.
  • the identification unit 25 identifies the posture of the target placement surface 35 based on the reference first contact position coordinates and the reference second contact position coordinates, and the acquired first contact position coordinates and the acquired second contact position coordinates.
  • FIG. 15 is a schematic diagram showing an example of the reference first contact position coordinate A1, the reference second contact position coordinate P1, the acquired first contact position coordinate A2, and the acquired second contact position coordinate P2.
  • FIG. 15 shows the mounting surface 35 in the reference position and orientation and the mounting member 40 thereon. Also in FIG. 15, the target mounting surface 35 and the target mounting member 40 thereon are shown by solid lines. FIG. 15 also shows the reference work point coordinates I1 and the position coordinates I2 of the work point 200 based on the target mounting surface 35.
  • the position of the tip 65 when it makes three-point contact with the inner surface 42 of the groove 41 of the reference mounting member 40 is determined by the position of the reference mounting surface 35. It can also be said that the position of the tip 65 when it makes three-point contact with the inner surface 42 of the groove 41 of the reference mounting member 40 is determined by the position of the reference mounting member 40 fixed to the reference mounting surface 35. Therefore, the reference second contact position coordinate P1 can be said to be information indicating the position of the reference mounting surface 35, and also information indicating the position of the reference mounting member 40.
  • the position of the tip 65 when it makes three-point contact with the inner surface 42 of the groove 41 of the target placement member 40 is determined by the position of the target placement surface 35. It can also be said that the position of the tip 65 when it makes three-point contact with the inner surface 42 of the groove 41 of the target placement member 40 is determined by the position of the target placement member 40 fixed to the target placement surface 35. Therefore, the second contact position coordinate P2 acquired in step s10 can be said to be information indicating the position of the target placement surface 35, and also information indicating the position of the target placement member 40.
  • the identification unit 25 identifies, for example, the three-dimensional orientation of the target placement surface 35 based on the reference first contact position coordinate A1, the reference second contact position coordinate P1, the acquired first contact position coordinate A2, and the acquired second contact position coordinate P2.
  • the identification unit 25 first obtains a vector V1 from the reference second contact position coordinate P1 to the reference first contact position coordinate A1, and a vector V2 from the acquired second contact position coordinate P2 to the acquired first contact position coordinate A2, as shown in the upper part of FIG. 16.
  • Vectors V1 and V2 are three-dimensional vectors.
  • the identification unit 25 aligns the starting point of vector V1 with the starting point of vector V2 (i.e., the acquired second contact position coordinate P2).
  • the position coordinate of the end point of vector V1 after the starting point of vector V1 is aligned with the starting point of vector V2 is indicated by A1a.
  • the identification unit 25 calculates the angle ⁇ 1 between vector V1 and vector V2.
  • the identification unit 25 obtains a first rotation matrix for rotating the vector V1 by an angle ⁇ 1 around the acquired second contact position coordinate P2 to overlap with the vector V2.
  • the first rotation matrix represents the three-dimensional orientation of the target placement surface 35.
  • the first rotation matrix represents the relative orientation of the target placement surface 35 with respect to the reference placement surface 35. It can also be said that the first rotation matrix represents the three-dimensional orientation of the target placement member 40. In other words, it can also be said that the first rotation matrix represents the relative orientation of the target placement member 40 with respect to the reference placement member 40.
  • the identification unit 25 determines the three-dimensional orientation of the target placement surface 35 by obtaining the first rotation matrix based on the reference first contact position coordinate A1, the reference second contact position coordinate P1, the acquired first contact position coordinate A2, and the acquired second contact position coordinate P2. It can also be said that the determination unit 25 determines the three-dimensional orientation of the target placement member 40 by determining a first rotation matrix based on the reference first contact position coordinate A1, the reference second contact position coordinate P1, the acquired first contact position coordinate A2, and the acquired second contact position coordinate P2.
  • the posture of the target placement surface 35 is identified based on the position information of the opposing member 60 at the first contact position of the target placement member 40 (i.e., first contact position information) and the second position information of the opposing member 60 at the second contact position of the target placement member 40 (i.e., second contact position information). Since the second contact position is located away from the first contact position along the target placement surface 35, the line connecting the first contact position and the second contact position is parallel to the target placement surface 35. In this way, the posture of the target placement surface 35 is identified based on the position information at the first contact position and the second contact position such that the line connecting them is parallel to the target placement surface 35, thereby improving the characteristic accuracy of the posture of the target placement surface 35.
  • the processing device 1 can obtain position information of the opposing member 60 at the first contact position and the second contact position by moving the opposing member 60 along the groove portion 41 within the groove portion 41. This makes it easier to control the movement of the opposing member 60 when obtaining position information at the first contact position and the second contact position.
  • the processing device 1 can obtain position information at the second contact position by obtaining position information of the opposing member 60 when it is in contact with the wall surface 44. This makes it easier to position the opposing member 60 when obtaining position information at the second contact position.
  • step s13 is executed.
  • the robot control unit 20 corrects the reference work point position information based on the specific posture of the target placement surface 35 and the acquired second contact position information indicating the position of the target placement surface 35 to obtain the target work point position information.
  • the robot control unit 20 corrects the reference work point position information based on the first rotation matrix indicating the specific posture of the target placement surface 35 and the second contact position information indicating the position of the target placement surface 35 to obtain the target work point position information.
  • This adjusts the movement of the robot 10 based on the target placement surface 35.
  • the robot control unit 20 functions as an adjustment unit that adjusts the movement of the robot 10 based on the target placement surface 35.
  • the first rotation matrix and the acquired second contact position information can be said to be information representing the position and posture of the target placement surface 35, or information representing the position and posture of the target placement member 40.
  • step s12 the robot control unit 20 calculates the offset position coordinates by adding the offset value of the position of the target placement surface 35 relative to the position of the reference placement surface 35 to the reference working point coordinate I1. Specifically, the robot control unit 20 calculates the X-coordinate offset value obtained by subtracting the X-coordinate value of the reference second contact position coordinate P1 from the X-coordinate value of the acquired second contact position coordinate P2. The robot control unit 20 also calculates the Y-coordinate offset value obtained by subtracting the Y-coordinate value of the reference second contact position coordinate P1 from the Y-coordinate value of the acquired second contact position coordinate P2.
  • the robot control unit 20 then calculates the Z-coordinate offset value obtained by subtracting the Z-coordinate value of the reference second contact position coordinate P1 from the Z-coordinate value of the acquired second contact position coordinate P2.
  • the robot control unit 20 sets the position coordinates obtained by adding the X-coordinate offset value, the Y-coordinate offset value, and the Z-coordinate offset value to the X-coordinate value, the Y-coordinate value, and the Z-coordinate value of the reference working point coordinate I1, respectively, as the offset position coordinates.
  • the robot control unit 20 multiplies the offset position coordinates obtained by offsetting the reference working point coordinates I1 by the first rotation matrix, and sets the position coordinates obtained as the target working point coordinates I2.
  • step s12 the calibration is completed.
  • the robot control unit 20 determines the contact state of the tip 65 with respect to the inner surface 42 of the groove 41 of the object placement member 40 based on the detection result of the sensor 18 that detects the force acting on the tip 65 of the opposing member 60. Then, the robot control unit 20 controls the robot 10 so that the tip 65 moves within the groove 41 to the wall surface 44 based on the determined contact state. In this way, the tip 65 can be easily moved to the wall surface 44 by moving the tip 65 within the groove 41 to the wall surface 44 based on the determination result of the contact state of the tip 65 with the inner surface 42 of the groove 41.
  • the inner surface 42 of the groove portion 41 of the mounting member 40 has multiple surfaces that each make point contact with the tip portion 65 of the opposing member 60, so that the contact resistance between the tip portion 65 and the inner surface 42 of the groove portion 41 when the tip portion 65 moves within the groove portion 41 can be reduced. This makes it less likely that the opposing member 60 will be damaged when the tip portion 65 moves within the groove portion 41.
  • the opposing surface 43 of the inner surface 42 of the groove 41 is an inclined surface that slopes outward in the upward direction, making it easier to insert the tip 65 into the groove 41.
  • the inner surface 42 of the groove portion 41 has a wall surface 44 located at one end in the longitudinal direction of the groove portion 41. This makes it possible to easily obtain information representing the position of the support surface 35 of the workbench 30 by obtaining position information of the tip portion 65 at the contact position of the tip portion 65 with the wall surface 44.
  • the other longitudinal end of the groove 41 is open, so the tip 65 can be inserted into the groove 41 at an angle, making it easier to insert the tip 65 into the groove 41.
  • the robot control unit 20 controls the robot 10 so that when the tip 65 comes into contact with the inner surface 42 of the groove 41 at one point, the tip 65 moves toward the bottom of the inner surface 42 of the groove 41. This allows the tip 65 to come into contact with the opposing surface 43 and then move toward the bottom of the inner surface 42 of the groove 41.
  • the robot control unit 20 controls the robot 10 so that when the tip 65 comes into contact with the inner surface 42 of the groove portion 41 at two points, the tip 65 moves toward the wall surface 44 of the inner surface 42 of the groove portion 41, and when the tip 65 comes into contact with the inner surface 42 of the groove portion 41 at three points, the robot control unit 20 causes the robot 10 to stop the movement of the tip 65. This makes it possible to move the tip 65 toward the wall surface 44 of the groove portion 41 after it has come into contact with each of the pair of opposing surfaces 43, and to stop the movement of the tip 65 when it comes into contact with the wall surface 44.
  • the tip 65 of the opposing member 60 is in one-point contact with the first opposing surface 43a, but the tip 65 may be in one-point contact with the second opposing surface 43b.
  • the movement of the tip 65 is controlled in a similar manner to that described above, so that the first contact position information and the second contact position information are appropriately acquired.
  • one mounting member 40 is used in the calibration, but multiple mounting members 40 may be used.
  • an example of calibration in which two mounting members 40 are used is described.
  • FIG. 17 is a schematic diagram showing an example of the arrangement of two mounting members 40 on a workbench 30.
  • the two mounting members 40 are arranged, for example, at two diagonally opposite corners of the mounting surface 35.
  • Each mounting member 40 is arranged, for example, so that the longitudinal direction of the groove portion 41 is parallel to the short direction of the mounting surface 35.
  • the two mounting members 40 are arranged so that the depth direction of one mounting member 40 (i.e., the direction from the opening 45 toward the wall surface 44) and the depth direction of the other mounting member 40 are in the same direction.
  • the mounting member 40 at the bottom right of FIG. 17 may be referred to as the first mounting member 40A
  • the mounting member 40 at the top left of FIG. 17 may be referred to as the second mounting member 40B.
  • the identification unit 25 identifies the posture of the mounting surface 35 based on the reference second contact position information and the acquired second contact position information for the first mounting member 40A and the reference second contact position information and the acquired second contact position information for the second mounting member 40B.
  • the reference first contact position information and the acquired first contact position information for the first mounting member 40A and the reference first contact position information and the acquired first contact position information for the second mounting member 40B are not used.
  • FIG. 18 is a schematic diagram showing an example of the reference second contact position coordinate P11 and the acquired second contact position coordinate P21 for the first mounting member 40A, and the reference second contact position coordinate P12 and the acquired second contact position coordinate P22 for the second mounting member 40B.
  • the mounting surface 35 and the reference mounting member 40 in the reference position and orientation are shown with dashed lines.
  • the target worktable 30 and the target mounting member 40 are shown with solid lines.
  • the identification unit 25 sets one of the first mounting member 40A and the second mounting member 40B as the reference mounting member 40 in a calibration using two mounting members 40 (also called a two-use calibration).
  • This reference mounting member 40 can also be called the main mounting member 40.
  • the reference mounting member 40 in a two-use calibration will be called the main mounting member 40.
  • a mounting member 40 different from the main mounting member 40 may be called the secondary mounting member 40.
  • a calibration using one mounting member 40 may be called a single-use calibration.
  • the identification unit 25 first obtains a vector V11 from the reference second contact position coordinate of the main placement member 40 to the reference second contact position coordinate of the sub placement member 40.
  • the identification unit 25 also obtains a vector V12 from the acquired second contact position coordinate of the main placement member 40 to the acquired second contact position coordinate of the sub placement member 40.
  • the upper part of FIG. 19 shows vectors V11 and V12 when the main placement member 40 is the first placement member 40A.
  • the vector V11 extends from the reference second contact position coordinate P11 of the first placement member 40A to the reference second contact position coordinate P12 of the second placement member 40B.
  • the vector V12 extends from the acquired second contact position coordinate P21 of the first placement member 40A to the acquired second contact position coordinate P22 of the second placement member 40B.
  • the vectors V11 and V12 are three-dimensional vectors.
  • the identification unit 25 aligns the starting point of vector V11 with the starting point of vector V12.
  • the lower part of Figure 19 shows the state in which the starting point of vector V11 is aligned with the starting point of vector V12 when the main mounting member 40 is the first mounting member 40A.
  • the position coordinates of the end point of vector V11 after the starting point of vector V11 is aligned with the starting point of vector V12 are indicated by P12a.
  • the identification unit 25 determines the angle ⁇ 2 formed by vector V11 and vector V12.
  • the identification unit 25 obtains a second rotation matrix for rotating the vector V11 by an angle ⁇ 2 around the starting point of the vector V12 (the acquired second contact position coordinate P21 in FIG. 19) and overlapping it with the vector V12.
  • the second rotation matrix represents the three-dimensional orientation of the target placement surface 35, similar to the first rotation matrix described above.
  • the identification unit 25 obtains the second rotation matrix based on the reference second contact position coordinate P11, the reference second contact position coordinate P12, the acquired second contact position coordinate P21, and the acquired second contact position coordinate P22, thereby identifying the three-dimensional orientation of the target placement surface 35.
  • the robot control unit 20 corrects the reference working point coordinate I11 based on the second rotation matrix and the acquired second contact position information of the main mounting member 40 to obtain the target working point coordinate I12. Specifically, for example, when the first mounting member 40A is the main mounting member 40, the robot control unit 20 obtains an X-coordinate offset value obtained by subtracting the X-coordinate value of the reference second contact position coordinate P11 of the first mounting member 40A from the X-coordinate value of the acquired second contact position coordinate P21 of the first mounting member 40A.
  • the robot control unit 20 also obtains a Y-coordinate offset value obtained by subtracting the Y-coordinate value of the reference second contact position coordinate P11 from the Y-coordinate value of the acquired second contact position coordinate P21.
  • the robot control unit 20 then obtains a Z coordinate offset value by subtracting the Z coordinate value of the reference second contact position coordinate P11 from the Z coordinate value of the acquired second contact position coordinate P21.
  • the robot control unit 20 determines the position coordinates obtained by adding the X coordinate offset value, the Y coordinate offset value, and the Z coordinate offset value to the X coordinate value, the Y coordinate offset value, and the Z coordinate offset value of the reference working point coordinate I11, respectively, as the offset position coordinates.
  • the robot control unit 20 then multiplies the offset position coordinates obtained by offsetting the reference working point coordinate I11 by the second rotation matrix as the target working point coordinate I12.
  • the second contact position information for one of the mounting members 40 is acquired, and then the second contact position information for the other mounting member 40 is acquired.
  • the operator grasps and moves the end effector 15 of the robot 10 in free drive mode so that the tip 65 contacts only one of the opposing surfaces 43 of the inner surface 42 of the groove portion 41 of one of the mounting members 40 on the target worktable 30, or places the tip 65 close to one of the opposing surfaces 43.
  • the processing device 1 then executes steps s1 to s11 shown in FIG. 13 in response to the operator's instructions to acquire the second contact position information for one of the mounting members 40.
  • the processing device 1 executes steps s1 to s10 shown in FIG. 13 in response to the instructions of the worker to acquire second contact position information for the other mounting member 40. Then, the processing device 1 specifies the posture of the target mounting surface 35 based on the reference second contact position information and the acquired second contact position information for one mounting member 40 and the reference second contact position information and the acquired second contact position information for the other mounting member 40, as described above. Then, the processing device 1 corrects the reference working point position information based on the specified posture of the target mounting surface 35 and the acquired second contact position information of the main mounting member 40 of the two mounting members 40, to acquire the target working point position information.
  • the robot control unit 20 may acquire the height information of the placement surface 35 based on the acquired second contact position information.
  • the robot control unit 20 may acquire the height information of the placement surface 35 based on the acquired second contact position information and placement member shape information representing the shape of the placement member.
  • the robot control unit 20 can also acquire the height information of the placement surface 35 based on a distance image obtained by the camera 9.
  • the accuracy of the height information of the placement surface 35 acquired based on the distance image may be lower than the accuracy of the height information of the placement surface 35 calculated based on the acquired second contact position information.
  • the robot control unit 20 may control the robot 10 based on the position information of the placement surface 35 calculated based on the acquired second contact position information.
  • the posture of the mounting surface 35 is identified based on the opposing member information regarding the opposing member 60 acquired when the opposing member 60 is in contact with at least one mounting member 40 arranged on the mounting surface 35. Then, the movement of the robot 10 is controlled based on the identified posture of the mounting surface 35. This allows the robot 10 to perform movements according to the posture of the mounting surface 35, and the movement of the robot 10 is appropriately controlled.
  • the robot control unit 20 may acquire position information of the placement surface 35 when controlling the robot 10. In other words, when the positional relationship between the placement member 40 and the working point 200 is fixed, the robot 10 may be moved to the working point 200 based on the position where the opposing member 60 of the robot 10 makes three-point contact with the placement member 40.
  • the mounting member 40 on the mounting surface 35 of the target object 50 becomes large, there is a possibility that the mounting member 40 may interfere with the work of the robot 10, so it is difficult to make the mounting member 40 large. Therefore, in one-piece calibration, it is difficult to increase the lengths of the vectors V1 and V2 (see FIG. 16). Therefore, if an error is included in the acquired first contact position coordinate A2 and the acquired second contact position coordinate P2, when the start point of the vector V1 is made to coincide with the start point of the vector V2, the angle ⁇ 1 does not appear properly, and the first rotation matrix representing the attitude of the mounting surface 35 may not be obtained properly.
  • the arrangement of the two mounting members 40 is not limited to the example in FIG. 17.
  • the two mounting members 40 may be arranged side by side along the longitudinal direction of the mounting surface 35, or side by side along the lateral direction of the mounting surface 35.
  • each of the pair of opposing surfaces 43 of the groove portion 41 of the mounting member 40 is inclined outwardly toward the upper side, but only one of the pair of opposing surfaces 43 may be inclined outwardly toward the upper side.
  • FIG. 20 is a schematic diagram showing an example in which only the first opposing surface 43a of the pair of opposing surfaces 43 is inclined outwardly toward the upper side. When only one of the pair of opposing surfaces 43 is inclined, the tip 65 of the opposing member 60 may come into contact with the inclined opposing surface 43 at one point during calibration.
  • FIG. 21 is a schematic diagram showing an example of a mounting member 40 (also called mounting member 40D) used in this case.
  • a mark 500 is provided on the upper surface 40a of the mounting member 40D to identify the position and posture of the mounting member 40D.
  • the robot control unit 20 acquires a color image obtained by the camera 90 through the interface 4.
  • the robot control unit 20 identifies the position and posture of the mounting member 40D based on the mark 500 appearing in the acquired color image.
  • the robot control unit 20 identifies the position and posture of the first opposing surface 43a based on the identified position and posture of the mounting member 40D and mounting member shape information representing the shape of the mounting member 40D.
  • the mounting member shape information is stored in the memory unit 3.
  • the robot control unit 20 controls the movement of the robot 10 based on the identified position and posture of the first opposing surface 43a to bring the tip 65 of the opposing member 60 into contact with only the first opposing surface 43a or to position the tip 65 near the first opposing surface 43a. Then, for example, the process shown in FIG. 13 above is executed to adjust the movement of the robot 10 relative to the target placement surface 35.
  • the mark 500 on the mounting member 40 may be used to calibrate the camera 9.
  • Calibration of the camera 9 is a process of converting each position in the camera coordinate system, which is a three-dimensional coordinate system set in the camera 9, into a position in the robot coordinate system 100, which is the basis for control of the robot 10.
  • the camera coordinate system may be calibrated based on the robot coordinates when the opposing member 60 of the robot 10 is in three-point contact with the groove portion 41.
  • the position of the target object 50 may be recognized by the camera 9, and the robot 10 may be moved to the working position based on the recognition by the camera 9.
  • the tip 65 is specified to be in one-point contact with the inner surface 42 of the groove 41, but the one-point contact need not be specified.
  • the tip 65 when calibration is started, the tip 65 is placed at the bottom of the inner surface 42 of the groove 41 and in two-point contact with the inner surface 42 by the operator or by the control of the robot 10 by the robot control unit 20, or is placed near the bottom.
  • the robot control unit 20 specifies whether the tip 65 is in two-point contact with the inner surface 42 of the groove 41 based on the force detection information output by the sensor 18.
  • the robot control unit 20 moves the tip 65 downward on the mounting member 40 while checking the force detection information, and makes the tip 65 in two-point contact with the inner surface 42 of the groove 41. Thereafter, the processing device 1 operates in the same manner.
  • the placement member 40 is used to determine the posture of the placement surface, but the placement member 40 may be used to set or calibrate the robot control point or tool center point.
  • the robot control point or tool center point may be set based on the position where the tip 65 of the opposing member 60 makes three-point contact with the placement member 40.
  • the posture of the arm is changed while correcting the control value of the arm to maintain the three-point contact, thereby calibrating the robot control point or tool center point.
  • the robot control point or tool center point is a point that is treated as a reference point for control when the robot is operated, and is set to the point where the object 50 is located when the robot 10 grasps the object 50, for example.
  • the shape of the tip 65 is not limited to the above example.
  • the tip 65 may be a polyhedron.
  • FIG. 22 is a schematic diagram showing an example of a polyhedron tip 65.
  • the shape of the tip 65 (also called tip 65A) shown in FIG. 22 is a polygonal prism.
  • the shape of the tip 65A is a low triangular prism.
  • the triangular prism that constitutes the tip 65A has a shape that corresponds to the shape of the inner surface 42 of the groove 41 of the mounting member 40, and can enter the inside of the groove 41.
  • the tip 65A can move within the groove 41 along the longitudinal direction of the groove 41.
  • the triangular prism formed by the tip 65A has three side surfaces 65a, 65b, and 66c, and a pair of bottom surfaces 65d.
  • One end of the rod-shaped portion 61 of the opposing member 60 is connected to the side surface 65a.
  • the side surfaces 65b and 65c each come into contact with the pair of opposing surfaces 43 of the groove 41.
  • each of the side surfaces 65b and 65c is in surface contact with the opposing surface 43.
  • Figure 22 shows an example of the state in which the side surfaces 65b and 65c each come into contact with the pair of opposing surfaces 43 of the groove 41.
  • the tip 65A moves inside the groove 41 and reaches the wall surface 44 of the groove 41, one of the pair of bottom surfaces 65d comes into contact with the wall surface 44. At this time, the bottom surface 65d comes into surface contact with the wall surface 44.
  • the operator grasps and moves the end effector 15 in his/her hand so that the side surfaces 65b and 65c of the tip 65A come into contact with the pair of facing surfaces 43 of the groove 41, respectively, or the side surfaces 65b and 65c are positioned near the pair of facing surfaces 43.
  • the robot control unit 20 controls the movement of the robot 10 so that the side surfaces 65b and 65c of the tip 65A come into contact with the pair of facing surfaces 43 of the groove 41, respectively, or the side surfaces 65b and 65c are positioned near the pair of facing surfaces 43.
  • the robot control unit 20 determines whether the side surfaces 65b and 65c of the tip 65A are in contact with the pair of opposing surfaces 43 of the groove 41 based on the force detection information output by the sensor 18. If the side surfaces 65b and 65c of the tip 65A are not in contact with the pair of opposing surfaces 43 of the groove 41, the robot control unit 20 moves the tip 65A downward on the mounting member 40 while checking the force detection information, so that the side surfaces 65b and 65c come into contact with the pair of opposing surfaces 43.
  • the robot control unit 20 acquires the position information of the tip 65A at that time as first contact position information. After that, while checking the force detection information, the robot control unit 20 moves the tip 65A to the wall surface 44 of the groove portion 41 and brings one bottom surface 65d of the tip 65A into contact with the wall surface 44. As a result, the side surfaces 65b and 65c of the tip 65A are in contact with the pair of opposing surfaces 43, and one bottom surface 65d of the tip 65A is in contact with the wall surface 44.
  • the robot control unit 20 acquires the position information of the tip 65A at that time as second contact position information.
  • the robot control unit 20 determines the posture of the target placement surface 35 based on the acquired first contact position information and second contact position information in the same manner as described above. The robot control unit 20 then corrects the reference working point position information based on the determined posture of the target placement surface 35 and the acquired second contact position information to obtain the target working point position information.
  • the robot control unit 20 similarly identifies the posture of the target mounting surface 35 based on the second contact position information of one mounting member 40 acquired by using the tip portion 65A as described above, and the second contact position information of the other mounting member 40 acquired by using the tip portion 65A. Then, the robot control unit 20 corrects the reference working point position information based on the identified posture of the target mounting surface 35 and the second contact position information to obtain the target working point position information.
  • the robot control unit 20 does not need to acquire the first contact position information.
  • the robot control unit 20 may acquire the reference work point coordinates and use the above offset position coordinates, which are offset based on the second contact position information, as the target work point coordinates. In this way, if the position of the worktable 30 deviates from the reference position but the attitude of the worktable 30 hardly deviates from the reference attitude, the robot control unit 20 can also control the movement of the robot 10 based on the position information of the opposing member 60 at a specified contact position of the mounting member 40.
  • the robot control unit 20 may set the position coordinates obtained by multiplying the reference workpoint coordinates by the first rotation matrix or the second rotation matrix as the target workpoint coordinates.
  • the recess 41 (also called recess 41F) of the mounting member 40 (also called mounting member 40F) shown in Figures 23 and 24 is open not only to the top surface 40a but also to the bottom surface 40b of the mounting member 40F.
  • the inner surface 42 (also called inner surface 42F) of the recess 41F is, for example, a truncated cone shape whose diameter decreases from the top surface 40a toward the bottom surface 40b.
  • Figure 24 shows the cross-sectional shape of the mounting member 40 along the depth direction of the recess 41F.
  • a rounded tip 65 of a sphere or hemisphere is inserted into the recess 41F.
  • the tip 65 makes line contact with the inner surface 42F of the recess 41F.
  • Figure 24 shows an example of how the tip 65 makes line contact with the inner surface 42F of the recess 41F.
  • the operator grasps and moves the end effector 15 in his/her hand so that the tip 65 touches the inner surface 42F of the recess 41F or is positioned close to the inner surface 42F.
  • the robot control unit 20 controls the movement of the robot 10 so that the tip 65 touches the inner surface 42F of the recess 41F or is positioned close to the inner surface 42F.
  • the robot control unit 20 determines whether the tip 65 is in line contact with the inner surface 42F of the recess 41F based on the force detection information. If the tip 65 is not in line contact with the inner surface 42F, the robot control unit 20 moves the tip 65 while checking the force detection information, and brings the tip 65 into line contact with the inner surface 42F. If the tip 65 is in line contact with the inner surface 42F, the robot control unit 20 acquires position information of the tip 62 at that time as third contact position information. The robot control unit 20 uses the acquired third contact position information instead of the second contact position information to determine offset position coordinates obtained by offsetting the reference working point coordinates. The robot control unit 20 then sets the acquired offset position coordinates as the target working point coordinates.
  • FIGs 25 and 26 are schematic diagrams showing another example of a mounting member 40 used when the position of the work table 30 deviates from the reference position, but the posture of the work table 30 hardly deviates from the reference posture.
  • the tip portion 65 also called tip portion 65H
  • Tip portion 65H fits inside the recess 41 (also called recess 41H) of the mounting member 40H.
  • Figure 26 shows tip portion 65H fitting inside recess 41H.
  • the tip 65H is shaped like a low triangular prism.
  • the triangular prism that the tip 65H forms has three side surfaces 65p and a pair of bottom surfaces 65q and 65r.
  • One end of the rod-shaped portion 61 of the opposing member 60 is connected to one bottom surface 65q.
  • the operator grasps and moves the end effector 15 to bring the bottom surface 65r and two side surfaces 65p of the tip portion 65H into contact with the bottom surface 42a and two side surfaces 42b of the recess 41H, respectively.
  • the operator positions the bottom surface 65r and two side surfaces 65p of the tip portion 65H near the bottom surface 42a and two side surfaces 42b of the recess 41H, respectively.
  • the robot control unit 20 controls the movement of the robot 10 so that the bottom surface 65r and two side surfaces 65p of the tip portion 65H come into contact with the bottom surface 42a and two side surfaces 42b of the recess 41H, respectively.
  • the robot control unit 20 controls the movement of the robot 10 so that the bottom surface 65r and the two side surfaces 65p of the tip 65H are positioned near the bottom surface 42a and the two side surfaces 42b of the recess 41H, respectively.
  • the robot control unit 20 determines whether the bottom surface 65r and two side surfaces 65p of the tip portion 65H are in contact with the bottom surface 42a and two side surfaces 42b of the recessed portion 41H. If the bottom surface 65r and two side surfaces 65p of the tip portion 65H are not in contact with the bottom surface 42a and two side surfaces 42b of the recessed portion 41H, the robot control unit 20 moves the tip portion 65H while checking the force detection information, and brings the bottom surface 65r and two side surfaces 65p of the tip portion 65H into contact with the bottom surface 42a and two side surfaces 42b of the recessed portion 41H, respectively.
  • the robot control unit 20 acquires the position information of the tip portion 65 at that time as the fourth contact position information.
  • the robot control unit 20 uses the acquired fourth contact position information instead of the second contact position information to determine the offset position coordinates by offsetting the reference working point coordinates.
  • the robot control unit 20 sets the determined offset position coordinates as the target working point coordinates.
  • the determination unit 25 can also determine the posture of the support surface 35 based on information about the tip 65H when the tip 65H fits inside the recess 41H and contacts the inner surface 42H. Information about the tip 65H when the tip 65H fits inside the recess 41H and contacts the inner surface 42H can also be said to be contact opposing member information. A method for determining the posture of the support surface 35 in this case will be described below.
  • a first fixed point and a second fixed point are set for one of the bottom surfaces 65q and 65r. Since the bottom surfaces 65q and 65r are parallel to the mounting surface 35, the line connecting the first fixed point and the second fixed point is parallel to the target mounting surface 35, similar to the line connecting the first contact position and the second contact position described above.
  • the position coordinates of the first fixed point and the position coordinates of the second fixed point when the tip portion 65H is fitted into the recess 41H of the mounting member 40H on the mounting surface 35 in the reference position and posture are stored in the memory unit 3 as the reference first fixed point coordinates and the reference second fixed point coordinates, respectively.
  • the first fixed point may be set at the apex of the triangular bottom surface 65q or 65r.
  • the second fixed point may be set at the center of the bottom surface 65q or 65r, or at the intersection of the tip portion 65H and the rod-shaped portion 61.
  • the identification unit 25 acquires the position coordinates of the first fixed point and the position coordinates of the second fixed point when the tip 65H is engaged with the recess 41H of the target mounting member 40H on the target mounting surface 35.
  • the acquired position coordinates of the first fixed point and the position coordinates of the second fixed point are referred to as the acquired first fixed point coordinates and the acquired second fixed point coordinates, respectively.
  • the acquired first fixed point coordinates and the acquired second fixed point coordinates can be said to be information about the tip 65H when the tip 65H is engaged inside the recess 41H and in contact with the inner surface 42H, and can also be said to be contact opposing member information.
  • the identification unit 25 uses the reference first fixed point coordinates, the reference second fixed point coordinates, the acquired first fixed point coordinates, and the acquired second fixed point coordinates, respectively, instead of the reference first contact position coordinates, the reference second contact position coordinates, the acquired first contact position coordinates, and the acquired second contact position coordinates, to identify the orientation of the target placement surface 35. Specifically, the identification unit 25 obtains a first vector (corresponding to vector V1) from the reference second fixed point coordinates to the reference first fixed point coordinates, and a second vector (corresponding to vector V2) from the acquired second fixed point coordinates to the acquired first fixed point coordinates. Next, the identification unit 25 matches the starting point of the first vector with the starting point of the second vector, and then obtains the angle formed by the first vector and the second vector.
  • the identification unit 25 obtains a third rotation matrix for rotating the first vector by the obtained angle around the starting point of the second vector to overlap it with the second vector.
  • the third rotation matrix represents the three-dimensional position and orientation of the target placement surface 35. It can also be said that the determination unit 25 determines the three-dimensional orientation of the target placement member 40 by determining a third rotation matrix based on the reference first fixed point coordinates, the reference second fixed point coordinates, the acquired first fixed point coordinates, and the acquired second fixed point coordinates.
  • the robot control unit 20 determines offset position coordinates obtained by offsetting the reference working point coordinates using the acquired second fixed point coordinates and the reference second fixed point coordinates instead of the acquired second contact position coordinates and the reference second contact position coordinates. The robot control unit 20 then multiplies the offset position coordinates by the third rotation matrix to obtain the target working point coordinates.
  • the identification unit 25 identifies the three-dimensional orientation of the target placement surface 35, but the identification unit 25 may identify at least the orientation of the target placement surface 35 as viewed from above. For example, consider a case where the orientation of the target placement surface 35 as viewed from above is identified in single-use calibration. In this case, the identification unit 25 matches the start point of the vector V1 with the start point of the vector V2, as in the lower part of FIG. 16 described above. Next, as shown in FIG.
  • the identification unit 25 considers a specific plane 900 that includes the position coordinate A1a of the end point of the vector V1 after matching the start point of the vector V1 with the start point of the vector V2 and the acquired second contact position coordinate P2, and is parallel to the XY plane of the robot coordinate system 100.
  • the specific plane 900 is treated as a plane formed by the XY components of the reference placement surface 35, for example.
  • the specific plane 900 may be treated as a plane onto which the reference placement surface 35 is projected, for example, as a plane perpendicular to the Z axis or weight direction.
  • the identification unit 25 obtains a position coordinate A2x obtained by projecting the acquired first contact position coordinate A2 of the vector V2 onto the specific surface 900.
  • the position coordinate A2x is the position coordinate of the foot of a perpendicular line drawn from the acquired first contact position coordinate A2 onto the specific surface 900.
  • the vector from the acquired second contact position coordinate P2 to the position coordinate A2x is called vector V2x. It can be said that the vector V2x is the vector obtained by projecting the vector V2 onto the specific surface 900.
  • the identification unit 25 obtains a fourth rotation matrix for rotating the vector V1 by an angle ⁇ 11 around the acquired second contact position coordinate P2 to overlap with the vector V2x.
  • the fourth rotation matrix represents the orientation of the target placement surface 35 as viewed from above.
  • the fourth rotation matrix represents the orientation of the target placement surface 35 when viewed from the positive side of the Z axis of the robot coordinate system 100.
  • the fourth rotation matrix represents the relative orientation of the target placement surface 35 with respect to the reference placement surface 35 when viewed from above.
  • the identification unit 25 determines the orientation of the target placement surface 35 as viewed from above by obtaining the fourth rotation matrix.
  • the fourth rotation matrix represents the rotation within the plane of the identification surface 900. It can also be said that the identification unit 25 determines the rotation from the reference orientation of the target placement surface 35 when viewed from above by obtaining the fourth rotation matrix.
  • the robot control unit 20 determines, for example, offset position coordinates obtained by offsetting the reference working point coordinates I1 in the same manner as described above. The robot control unit 20 then multiplies the offset position coordinates by the fourth rotation matrix to obtain the position coordinates as the target working point coordinates I2.
  • the target work point position information can be obtained with a certain degree of accuracy.
  • the identification unit 25 can similarly identify the posture of the target placement surface 35 as viewed from above.
  • the identification unit 25 matches the starting point of the vector V11 with the starting point of the vector V12, as in the lower part of FIG. 19 described above.
  • the identification unit 25 considers a specific surface 950 that includes the position coordinate P12a of the end point of the vector V11 after matching the starting point of the vector V11 with the starting point of the vector V12 and the acquired second contact position coordinate P21, and is parallel to the XY plane of the robot coordinate system 100.
  • the identification unit 25 obtains a position coordinate P22x obtained by projecting the acquired second contact position coordinate P22 of the vector V12 onto the specific surface 950.
  • the position coordinate P22x is the position coordinate of the foot of a perpendicular line drawn from the acquired second contact position coordinate P22 to the specific surface 950.
  • the vector from the acquired second contact position coordinate P21 to the position coordinate P22x is called a vector V12x.
  • specific surface 950 is, for example, similar to specific surface 900.
  • the identification unit 25 obtains a fifth rotation matrix for rotating the vector V11 by an angle ⁇ 22 around the acquired second contact position coordinate P21 to overlap with the vector V12x.
  • the fifth rotation matrix like the fourth rotation matrix, represents the orientation of the target placement surface 35 as viewed from above.
  • the fifth rotation matrix represents the orientation of the target placement surface 35 when viewed from the positive side of the Z axis of the robot coordinate system 100.
  • the robot control unit 20 determines the offset position coordinates by offsetting the reference working point coordinates I11 in the same manner as described above. The robot control unit 20 then multiplies the offset position coordinates by the fifth rotation matrix to obtain the position coordinates as the target working point coordinates I12.
  • This disclosure includes the following:
  • the processing device includes an acquisition unit that acquires opposing member information when at least one mounting member is placed on a work object mounting surface of an unfixed work table for a robot and an opposing member of the robot is in contact with the at least one mounting member, an identification unit that identifies the orientation of the mounting surface as viewed from above or the three-dimensional orientation of the mounting surface based on the opposing member information, and a robot control unit that controls the movement of the robot based on the orientation identified by the identification unit.
  • the at least one mounting member has a first mounting member
  • the opposing member information includes first position information of the opposing member at a first contact position of the first mounting member and second position information of the opposing member at a second contact position on the first mounting member that is spaced along the mounting surface from the first contact position
  • the identification unit identifies the posture based on the first position information and the second position information.
  • the first mounting member has a groove portion extending parallel to the mounting surface, the first contact position is located on the inner surface of the groove portion, and the second contact position is located on the inner surface of the groove portion away from the first contact position along the longitudinal direction of the groove portion.
  • the inner surface of the groove portion includes a wall surface located at one end of the groove portion in the longitudinal direction, and the second contact position is the contact position of the opposing member with the wall surface.
  • the at least one mounting member has a first mounting member
  • the opposing member information includes position information of the opposing member at a predetermined contact position of the first mounting member
  • the robot control unit controls the movement of the robot based on the position information.
  • the first mounting member has a groove portion having a wall surface that extends parallel to the mounting surface and is located at one end in the longitudinal direction, and the predetermined contact position is a position where the opposing member contacts the wall surface.
  • the at least one mounting member has a first mounting member and a second mounting member positioned away from the first mounting member
  • the opposing member information includes first position information of the opposing member at a first contact position of the first mounting member and second position information of the opposing member at a second contact position of the second mounting member
  • the identification unit identifies the posture based on the first position information and the second position information.
  • the mounting member is a mounting member that is placed on the mounting surface of the robot for the work object, and has a groove portion into which the tip of the member placed on the robot fits, and the inner surface of the groove portion has multiple surfaces that each make point contact with the tip.
  • the multiple surfaces have multiple opposing surfaces that face each other, and the multiple opposing surfaces include inclined surfaces that slope outwardly in an upward direction.
  • the multiple surfaces have a wall surface located at one end of the groove in the longitudinal direction.
  • the processing device includes a robot control unit that controls the robot so that the tip of the member moves within the groove of the mounting member of (10) or (11) above, and the robot control unit determines the contact state of the tip with the inner surface of the groove based on the detection result of a sensor that detects the force applied to the tip, and controls the robot so that the tip moves within the groove to the wall surface based on the determined contact state.
  • the robot control unit controls the robot so that when the tip portion makes contact with the inner surface at two points, the tip portion moves toward the wall surface of the inner surface of the groove portion, and when the tip portion makes contact with the inner surface at three points, the robot is caused to stop moving the tip portion.
  • the robot control unit controls the robot so that when the tip portion comes into contact with the inner surface at one point, the tip portion moves toward the bottom of the inner surface of the groove portion.
  • the program is a program for causing a computer device to function as any one of the processing devices (1) to (7) and (12) to (14) above.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Manipulator (AREA)

Abstract

処理装置は、取得部、特定部及びロット制御部を備える。ロボットについての固定されていない作業台の作業対象物の載置面に少なくとも一つの載置部材が配されている。取得部は、少なくとも一つの載置部材にロボットの対向部材が接触しているときの対向部材情報を取得する。特定部は、対向部材情報に基づいて、載置面の上から見た姿勢または載置面の三次元の姿勢を特定する。ロボット制御部は、特定部で特定された姿勢に基づいて、ロボットの動きを制御する。

Description

処理装置、載置部材及びプログラム
 本開示は、ロボットの動きを制御する技術に関する。
 特許文献1には、ロボット装置の教示方法に関する技術が記載されている。また特許文献2には、ロボットのキャリブレーションに関する技術が記載されている。
特開2010-58235号公報 特開2006-297559号公報
 処理装置、載置部材及びプログラムが開示される。一の実施の形態では、処理装置は、取得部、特定部及びロット制御部を備える。ロボットについての固定されていない作業台の作業対象物の載置面に少なくとも一つの載置部材が配されている。取得部は、少なくとも一つの載置部材にロボットの対向部材が接触しているときの対向部材情報を取得する。特定部は、対向部材情報に基づいて、載置面の上から見た姿勢または載置面の三次元の姿勢を特定する。ロボット制御部は、特定部で特定された姿勢に基づいて、ロボットの動きを制御する。
 また、一の実施の形態では、載置部材は、ロボットの作業対象物の載置面に配される載置部材である。載置部材は、ロボットに配された部材の先端部が入る溝部を備える。溝部の内面は、それぞれが先端部と点接触する複数の面を有する。
 また、一の実施の形態では、上記の載置部材の複数の面は、互いに対向する複数の対向面と、溝部の長手方向の一方端に位置する壁面とを有する。複数の対向面は、上方に向かって外側に傾斜する傾斜面を含む。
 また、一の実施の形態では、処理装置は、上記の載置部材の溝部内において部材の先端部が移動するようにロボットを制御するロボット制御部を備える。ロボット制御部は、先端部にかかる力を検出するセンサでの検出結果に基づいて、溝部の内面に対する先端部の接触状態を特定する。ロボット制御部は、特定した接触状態に基づいて、先端部が溝部内を壁面まで移動するようにロボットを制御する。
 また、一の実施の形態では、プログラムは、コンピュータ装置に、上記の処理装置として機能させるためのプログラムである。
処理装置の一例を示す概略図である。 ロボットの一例とロボットの周辺の様子の一例とを示す概略図である。 ロボットの一例とロボットの周辺の様子の一例とを示す概略図である。 対向部材の一例を示す概略図である。 載置部材の一例を示す概略図である。 載置部材の一例を示す概略図である。 載置部材の一例を示す概略図である。 載置面での載置部材の配置例を示す概略図である。 載置部材に対向部材が接触する様子の一例を示す概略図である。 対向部材が載置部材の内面に一点接触する様子の一例を示す概略図である。 対向部材が載置部材の内面に二点接触する様子の一例を示す概略図である。 対向部材が載置部材の内面に三点接触する様子の一例を示す概略図である。 処理装置の動作の一例を示すフローチャートである。 載置部材とセンサ座標系との関係を示す概略図である。 基準第1接触位置座標、基準第2接触位置座標、第1接触位置座標及び第2接触位置座標の一例を示す概略図である。 載置台の姿勢の特定方法の一例を説明するための概略図である。 載置面での2つの載置部材の配置例を示す概略図である。 2つの載置部材の基準第2接触位置座標及び第2接触位置座標の一例を示す概略図である。 載置台の姿勢の特定方法の一例を説明するための概略図である。 載置部材の一例を示す概略図である。 載置部材の一例を示す概略図である。 対向部材の先端部の一例を示す概略図である。 載置部材の一例を示す概略図である。 載置部材の凹部に対向部材の先端部が接触する様子の一例を示す概略図である。 載置部材の一例を示す概略図である。 載置部材の凹部に対向部材の先端部が嵌合する様子の一例を示す概略図である。 載置台の姿勢の特定方法の一例を説明するための概略図である。 載置台の姿勢の特定方法の一例を説明するための概略図である。
 図1は処理装置1の構成の一例を示す概略図である。処理装置1は、例えば、ロボット10の動きを調整するキャリブレーションを実行することが可能である。また処理装置1は、例えば、ロボット10を制御することが可能である。本例では、処理装置1は、ロボット10を制御するロボット制御装置ともいえる。図2は、ロボット10の一例と、ロボット10の周辺の様子の一例とを示す概略図である。
 ロボット10は、例えば、作業台30の上面35に置かれた物体50に対して作業を行う。例えば、ロボット10は、作業台30上の物体50を保持して他の場所へ移動してもよいし、保持した物体50の姿勢を変更して再度作業台30に置いてもよい。物体50はロボット10の作業対象物50であるともいえる。作業台30の上面35は、作業対象物50が置かれる載置面35であるともいえる。作業対象物50(以後、単に対象物50ともいう)の載置面35上での位置は、例えば固定治具で固定されてもよい。また、載置面35上には複数の対象物50が置かれてもよい。また、対象物50は、載置面35に直接置かれるのではなく、例えば容器を介して載置面35に置かれてもよい。つまり、対象物50は、載置面35上の容器の中に置かれてもよい。載置面35の形状は例えば長方形である。
 ロボット10は、例えば、アーム11と、アーム11に接続されたエンドエフェクタ15とを備える。エンドエフェクタ15は、対象物50を保持することが可能である。アーム11は例えば複数の関節を備える。複数の関節の少なくとも一つの回転量が変化することによって、アーム11の姿勢が変化する。そして、アーム11の姿勢が変化することによって、エンドエフェクタ15の位置及び姿勢が変化する。また、アーム11の姿勢が変化することによって、エンドエフェクタ15に保持された対象物50の位置及び姿勢が変化する。エンドエフェクタ15は、例えば、対象物50を複数の指で把持して保持することが可能である。なお、エンドエフェクタ15は、対象物50を吸着して保持してもよい。
 ロボット10は、例えば、エンドエフェクタ15で対象物50を保持し、アーム11を動かして(言い換えればアーム11の姿勢を変化させて)、保持した対象物50を別の場所に移動してもよい。また、ロボット10は、アーム11を動かして(言い換えればアーム11の姿勢を変化させて)、エンドエフェクタ15で保持した対象物50の姿勢を変化させて(例えば対象物50をひっくり返して)、その後、載置面35に再度置いてもよい。
 ロボット10は、例えば力覚センサ18を備える。力覚センサ18は、例えば、エンドエフェクタ15の手首部分に設けられる。力覚センサ18は、例えば、エンドエフェクタ15にかかる力を繰り返し検出することが可能である。力覚センサ18は、例えば6軸力覚センサであってもよい。力覚センサ18は、例えば、電気抵抗式であってもよいし、静電容量式であってもよいし、圧電式であってもよいし、光学式であってもよい。
 ロボット10は、例えば、架台80の上面85に固定されている。ロボット10は、例えば、作業時にユーザによって移動又は運搬可能であってもよい。また、ロボット10は、架台80が例えばキャスター等の移動機構を有しており、作業時にユーザによって架台80と併せて移動又は運搬可能であってもよい。架台80の上面85には、カメラ90を保持する保持アーム95の一方の端部が取り付けられている。カメラ90は保持アーム95の他端の端部に固定されている。カメラ90は、作業台30の載置面35を撮影することが可能である。カメラ90とロボット10との相対的な位置関係は固定されている。
 カメラ90は、例えば3次元カメラである。カメラ90は、作業台30の載置面35を含む撮影範囲を撮影して、例えば、2次元のカラー画像と距離画像とを生成する。カラー画像の各画素値には、例えば、R成分(赤色成分)、G成分(緑色成分)及びB成分(青色成分)が含まれる。このようなカラー画像はRGB画像とも呼ばれる。カラー画像には撮影範囲の様子が写る。距離画像は、撮影範囲に含まれる各計測点までの距離を2次元で表す画像である。距離画像の各画素値は、当該画素値に対応する計測点までの距離を示す。距離画像はデプス画像とも呼ばれる。
 なお、図3に示されるように、作業台30を撮影するカメラ90は、作業台30から延びる保持アーム96で保持されてもよい。保持アーム96の一方の端部は作業台30に取り付けられ、保持アーム96の他端の端部にカメラ90が固定されている。
 本例では、作業台30の載置面35を基準としたロボット10の作業点200が設定されている。作業点200とは、ロボット10が作業を行う場合のロボット10の所定部位の位置を意味する。作業点200は作業位置200ともいえる。処理装置1は、ロボット10の動きを制御して、ロボット10の所定部位を作業点200に移動させてロボット10に作業を実行させる。よって、ロボット10は作業点200に応じた動きを行う。
 例えば、ロボット10のエンドエフェクタ15が対象物50を保持する作業を行う場合、作業点200は、対象物50を保持するときのエンドエフェクタ15の位置である。この場合、作業点200は、例えば、載置面35上の対象物50の表面に設定されてもよいし、対象物50の近くに設定されてもよい。処理装置1は、エンドエフェクタ15を作業点200まで移動させて、エンドエフェクタ15に対象物50を保持させる。
 他の例として、ロボット10が、作業台30の載置面35を撮影するためのカメラを備える場合を考える。このカメラは、例えば、エンドエフェクタ15に固定される。このような場合、ロボット10がカメラで載置面35を撮影する作業を行う場合の当該カメラの位置が作業点200となる。作業点200は、例えば、載置面35の中心から上方に所定距離離れた場所に設定される。処理装置1は、ロボット10が有するカメラを作業点200まで移動させて、ロボット10のカメラに載置面35を撮影させる。
 載置面35に複数の対象物50が置かれる場合、当該複数の対象物50にそれぞれ対応する、載置面35を基準とした複数の作業点200が設定される。載置面35の位置及び姿勢が変化したとしても、作業点200の載置面35に対する相対的な位置は一定である。ロボット10の所定部位が作業点200まで移動してロボット10が作業を行うことは、ロボット10の載置面35を基準とした動きであるといえる。載置面35の位置及び姿勢の少なくとも一方が変化して作業点200が変化すると、載置面35を基準としたロボット10の動きが変化する。ロボット10は作業点200に応じた動きを行う。
 処理装置1は、ロボット10のロボット座標系100において作業台30の載置面35の位置及び姿勢が所定の位置及び姿勢に設定されている場合における、ロボット座標系100での作業点200の位置情報を記憶している。ロボット座標系100での作業点200の位置情報は、例えば、ロボット座標系での作業点200の位置座標で表される。
 ここで、ロボット座標系100とは、図2に示されるように、ロボット10に設定されたXYZ直交座標系である。ロボット座標系100の原点は、例えば、ロボット10のアーム11における架台80側の端部に設定される。また例えば、ロボット座標系100のXY平面は架台80の上面85に平行に設定され、ロボット座標系100のZ軸は上面85に垂直な方向に設定される。ロボット座標系100のX軸は、例えば長方形の上面85の短手方向と平行に設定される。ロボット座標系100のY軸は、例えば上面85の長手方向と平行に設定される。ロボット座標系100のZ軸は、例えば、重力方向に概ね平行となっている。処理装置1は、ロボット座標系100でのロボット10の位置及び姿勢等を把握しており、ロボット座標系100でのロボット10の動きを制御する。
 以後、作業台等の物体の位置及び姿勢をまとめて位置姿勢と呼ぶことがある。また、載置面35に関する上記の所定の位置及び姿勢を基準位置姿勢と呼ぶことがある。また、載置面35に関する上記の所定の位置を基準位置と呼び、載置面35に関する上記の所定の姿勢を基準姿勢と呼ぶことがある。また、ロボット座標系100において載置面35の位置姿勢が基準位置姿勢に設定されている場合における、ロボット座標系100での作業点200の位置情報を基準作業点位置情報と呼ぶことがある。また、基準作業点位置情報としての、ロボット座標系100での作業点200の位置座標を、基準作業点座標と呼ぶことがある。また、単に作業台30または載置面35の位置、姿勢及び位置姿勢といえば、ロボット座標系100での作業台30または載置面35の位置、姿勢及び位置姿勢を意味する。
 載置面35の位置姿勢が基準位置姿勢である場合、例えば、載置面35の長手方向及び短手方向がロボット座標系100のX軸及びY軸とそれぞれ平行であり、載置面35に垂直な方向がロボット座標系100のZ軸と平行である。図2では、載置面35の位置姿勢が基準位置姿勢である様子の一例が示されている。
 処理装置1は、載置面35の位置姿勢が基準位置姿勢である場合、基準作業点位置情報に基づいて、ロボット10の所定部位(例えばエンドエフェクタ15)を作業点200まで移動させることができる。よって、載置面35の位置姿勢が基準位置姿勢である場合、ロボット10は作業点200で適切に作業を行うことができる。
 一方で、載置面35の位置姿勢が基準位置姿勢からずれると、載置面35を基準にして設定された作業点200のロボット座標系100での位置情報は、基準作業点位置情報からずれることになる。よって、処理装置1は、基準作業点位置情報に基づいて、ロボット10の所定部位を作業点200まで移動させることが難しくなる。具体的には、処理装置1が、ロボット10の所定部位を作業点200まで移動させようとするとき、実際の移動先は、載置面35の位置姿勢が基準位置姿勢からずれている分、作業点200からずれた位置になる。
 例えば、移動式の架台80の上にロボット10が固定されている場合を考える。この場合、作業者が、架台80を移動させてロボット10を作業台30の近くにまで移動させることがある。作業者は、ロボット10を作業台30の近くにまで移動させて、ロボット10と作業台30との位置合わせを行う。このとき、載置面35の位置姿勢が基準位置姿勢からずれることがある。また、作業台30が固定されておらず、作業者が、作業台30をロボット10の近くまで移動させる場合であっても、載置面35の位置姿勢が基準位置姿勢からずれることがある。
 そこで、本例では、処理装置1は、載置面35の位置姿勢が基準位置姿勢から変化する場合に、基準作業点位置情報を補正して、ロボット座標系100での作業点200の現在の位置情報(言い換えれば実際の位置情報)を求める。これにより、載置面35の位置姿勢が基準位置姿勢から変化する場合に、載置面35を基準としたロボット10の動きが調整される。処理装置1は、ロボット座標系100での作業点200の現在の位置情報(言い換えれば位置座標)を求めることによって、載置面35を基準としたロボット10の動きを調整するキャリブレーションを行う。載置面35の位置姿勢が基準位置姿勢から変化することには、ロボット座標系100での載置面35の位置が基準位置から変化することと、ロボット座標系100での載置面35の姿勢が基準姿勢から変化することとが含まれる。
 以後、単に位置情報及び位置座標といえば、ロボット座標系100での位置情報及び位置座標を意味する。また、載置面35を基準としたロボット10の動きを調整するキャリブレーションを行う場合の当該載置面35を対象載置面35と呼ぶことがある。また、対象載置面35を備える作業台30を対象作業台30と呼ぶことがある。また、対象載置面35上の載置部材40を対象載置部材40と呼ぶことがある。処理装置1は、基準作業点位置情報を補正して、対象載置面35を基準とした作業点200の位置情報を求めることができる。
 キャリブレーションでは、載置面35に配された載置部材40と、ロボット10に配された対向部材60とが使用される。キャリブレーションにおいて、対向部材60は載置面35に対向するように位置する。載置部材40及び対向部材60のそれぞれは、キャリブレーション用部材ともいえる。
 対向部材60は、例えば、エンドエフェクタ15に取り付けられる。対向部材60は、例えば、エンドエフェクタ15の筐体に着脱可能に固定されてもよい。対向部材60は、例えば棒状の部材である。対向部材60の先端は丸くなっている。対向部材60は、例えば、棒状部61と、棒状部61の一方の端部に繋がる先端部65とを備える。先端部65は例えば球体となっている。棒状部61の他方の端部は、エンドエフェクタ15に取り付けられる。キャリブレーションが実行される場合、対向部材60の先端部65は載置部材40に接触する。対向部材60の先端部65のロボット10又はエンドエフェクタ15に対する相対的な位置及び姿勢は固定である。
 なお、対向部材60の先端部65は、図4に示されるように、例えば半球状であってもよい。また、エンドエフェクタ15は、対向部材60が挿入される凹部を有していてもよい。凹部は例えばネジ穴であり、対向部材60の他方の端部(つまり、先端部65とは反対側の端部)は例えばネジになっており、対向部材60はエンドエフェクタ15に固定可能になっていてもよい。また、対向部材60の先端部65とロボット10又はエンドエフェクタ15との相対的な位置及び姿勢が一定となるよう、対向部材60の他方の端部には、所定の挿入深さを示す指示ラインが付与されていてもよい。
 載置部材40は、例えば、載置面35に対して固定配置される。載置部材40の載置面35に対する相対的な位置姿勢は固定である。載置面35の位置及び姿勢の少なくとも一方が変化したとしても、載置面35を基準とした作業点200の載置部材40に対する相対的な位置は一定である。載置部材40の位置及び姿勢の少なくとも一方が変化したとしても、作業点200の載置部材40に対する相対的な位置は一定であるともいえる。
 図5は載置部材40の一例を示す概略斜視図である。図6は載置部材40の一例を示す概略平面図である。図7は載置部材40の一例を示す概略側面図である。図5~7に示されるように、載置部材40は、例えば、ロボット10に配された対向部材60の先端部65が入る凹部41を備える。凹部41は、例えば、載置部材40の上面40aに向かって開口している。載置部材40の底面40bは例えば平坦となっている。凹部41は例えば溝部である。図5~7の例では、凹部41はV溝部である。以後、溝部となっている凹部41を溝部41と呼ぶことがある。
 載置部材40の溝部41は、載置部材40からの厚みが一定になるように形成されている。また、載置面35に配された載置部材40の溝部41は、載置面35に沿って載置面35に平行に延びている。溝部41の延在方向は載置面35に平行である。溝部41の内面42は、互いに対向する一対の対向面43と、溝部41の長手方向の一方端に位置する壁面44とを備える。壁面44が存在することにより、溝部41の長手方向の一方端は閉塞している。一方で、溝部41の長手方向の他方端は開口しており、当該他方端に開口45が設けられている。凹部41は、載置部材40の上面40aだけではなく側面に向かって開口している。内面42は凹面ともいえる。
 図7に示されるように、溝部41の側面視において、一対の対向面43はV字を成す。各対向面43は、例えば、上方に向かって外側に傾斜する傾斜面となっている。言い換えれば、各対向面43は、例えば、載置面35に垂直な方向に対して外側に傾斜する傾斜面となっている。さらに言い換えれば、各対向面43は、溝部41の深さ方向に垂直な方向に対して外側に傾斜する傾斜面となっている。壁面44は、例えば、載置面35に垂直な方向に平行である。対向部材60の先端部65は、溝部41に沿って溝部41内を移動することが可能である。
 以後、一対の対向面43のうち、図7の右側に示される対向面43を第1対向面43aと呼び、図7の左側に示される対向面43を第2対向面43bと呼ぶことがある。また、溝部41に沿って開口45から壁面44に向かう方向(図7の紙面奥方向)を載置部材40の奥方向と呼び、溝部41に沿って壁面44から開口45に向かう方向(図7の紙面手前方向)を載置部材40の手前方向と呼ぶことがある。また、溝部41の深さ方向に沿って底面40bから上面40aに向かう方向(図7の上方向)を載置部材40の上方向と呼び、溝部41の深さ方向に沿って上面40aから底面40bに向かう方向(図7の下方向)を載置部材40の下方向と呼ぶことがある。また、溝部41の深さ方向及び長手方向に垂直な方向に沿って第1対向面43aから第2対向面43bに向かう方向(図7の左方向)を載置部材40の左方向と呼ぶことがある。また、溝部41の深さ方向及び長手方向に垂直な方向に沿って第2対向面43bから第1対向面43aに向かう方向(図7の右方向)を載置部材40の右方向と呼ぶことがある。
 図8は、載置部材40の載置面35上での配置例を示す概略図である。図8には、基準位置姿勢の載置面35が示されている。図8の例では、載置部材40は載置面35の端部に配置されている。具体的には、載置部材40は載置面35の角部に配置されている。載置部材40が載置面35の端部に配置される場合、載置部材40がロボット10の作業を邪魔しにくくなる。また、図8の例のように、載置部材40は載置面35の角部に配置される場合には、載置部材40がロボット10の作業をさらに邪魔しにくくなる。なお、載置面35上での載置部材40の位置及び姿勢は、図8の例に限られない。例えば、載置部材40は、その底面に直線状又は直角上の段差部を有しており、その段差部が作業台30のエッジに又は角部に沿ってかみ合うように配置可能になっていてもよい。
 図8には、載置部材40が置かれた基準位置姿勢の載置面35とロボット座標系100との関係が示されている。ロボット座標系100のZ軸は、例えば、基準位置姿勢の載置面35上の載置部材40の溝部41の深さ方向に平行である。言い換えれば、ロボット座標系100のZ軸は、例えば、基準位置姿勢の載置面35上の載置部材40の上下方向に平行である。ロボット座標系100のZ軸のプラス方向は、例えば、基準位置姿勢の載置面35上の載置部材40の上方向と同じ向きに設定される。
 ロボット座標系100のY軸は、例えば、基準位置姿勢の載置面35上の載置部材40の溝部41の長手方向(言い換えれば延在方向)に平行である。ロボット座標系100のY軸のプラス方向は、例えば、基準位置姿勢の載置面35上の載置部材40の奥方向と同じ向きに設定される。
 ロボット座標系100のX軸は、例えば、基準位置姿勢の載置面35上の載置部材40において溝部41の深さ方向及び長手方向に垂直な方向(図8の左右方向)に平行である。言い換えれば、ロボット座標系100のX軸は、例えば、基準位置姿勢の載置面35上の載置部材40の左右方向に平行である。ロボット座標系100のX軸のプラス方向は、例えば、基準位置姿勢の載置面35上の載置部材40の左方向と同じ向きに設定される。
 キャリブレーションでは、対向部材60が載置部材40に接触する。具体的には、対向部材60の先端部65が、載置部材40の溝部41の内面42に接触する。図9は先端部65が溝部41の内面42に接触している様子の一例を示す概略図である。先端部65は、溝部41の一対の対向面43のそれぞれに対して点接触を行う。また、先端部65は、溝部41の壁面44に対して点接触を行う。載置部材40は、それぞれが先端部65と点接触を行う複数の面を有するといえる。
 キャリブレーションでは、例えば、対向部材60が載置部材40に接触しているときに取得された対向部材60に関する対向部材情報に基づいて、作業台30の載置面35の姿勢が特定される。以後、対向部材60が載置部材40に接触しているときに取得される対向部材情報を、接触対向部材情報と呼ぶことがある。
 接触対向部材情報には、例えば、先端部65が溝部41の内面42の所定箇所に接触しているときの先端部65の位置情報が含まれる。言い換えれば、接触対向部材情報には、溝部41の内面42での先端部65の所定の接触位置での先端部65の位置情報が含まれる。以後、この位置情報を接触位置情報と呼ぶことがある。接触位置情報は、例えば、ロボット座標系での位置座標で表される。
 キャリブレーションでは、特定された載置面35の姿勢(載置面35の特定姿勢ともいう)と、接触対向部材情報に含まれる接触位置情報とに基づいて、載置面35を基準としたロボット10の動きが調整される。これにより、載置面35を基準としたロボット10の動きが適切に調整される。例えば、載置面35の特定姿勢と接触位置情報とに基づいて、基準作業点位置情報が補正されて、作業点200の現在の位置情報が求められる。キャリブレーションについては後で詳細に説明する。
 <処理装置の構成例>
 処理装置1は、例えばコンピュータ装置の一種である。図1に示されるように、処理装置1は、例えば、制御部2と、記憶部3と、インタフェース4と、インタフェース5とを備える。処理装置1は、例えば処理回路ともいえる。
 インタフェース4は、カメラ90と通信することが可能である。制御部2は、インタフェース4を通じてカメラ90で生成される画像を取得することができる。インタフェース4は、例えば、インタフェース回路、通信部あるいは通信回路ともいえる。インタフェース4は、カメラ90と有線通信を行ってもよいし、無線通信を行ってもよい。
 インタフェース5は、ロボット10と通信することが可能である。制御部2は、インタフェース5を通じてロボット10を制御することが可能である。インタフェース5は、例えば、インタフェース回路、通信部あるいは通信回路ともいえる。インタフェース5は、ロボット10と有線通信を行ってもよいし、無線通信を行ってもよい。
 制御部2は、処理装置1の他の構成要素を制御することによって、処理装置1の動作を統括的に管理することが可能である。制御部2は、例えば制御回路ともいえる。制御部2は、以下にさらに詳細に述べられるように、種々の機能を実行するための制御及び処理能力を提供するために、少なくとも1つのプロセッサを含む。
 種々の実施形態によれば、少なくとも1つのプロセッサは、単一の集積回路(IC)として、又は複数の通信可能に接続された集積回路IC及び/又はディスクリート回路(discrete circuits)として実行されてもよい。少なくとも1つのプロセッサは、種々の既知の技術に従って実行されることが可能である。
 1つの実施形態において、プロセッサは、例えば、関連するメモリに記憶された指示を実行することによって1以上のデータ計算手続又は処理を実行するように構成された1以上の回路又はユニットを含む。他の実施形態において、プロセッサは、1以上のデータ計算手続き又は処理を実行するように構成されたファームウェア(例えば、ディスクリートロジックコンポーネント)であってもよい。
 種々の実施形態によれば、プロセッサは、1以上のプロセッサ、コントローラ、マイクロプロセッサ、マイクロコントローラ、特定用途向け集積回路(ASIC)、デジタル信号処理装置、プログラマブルロジックデバイス、フィールドプログラマブルゲートアレイ、又はこれらのデバイス若しくは構成の任意の組み合わせ、又は他の既知のデバイス及び構成の組み合わせを含み、以下に説明される機能を実行してもよい。
 制御部2は、例えば、プロセッサとしてのCPU(Central Processing Unit)を備えてもよい。記憶部3は、ROM(Read Only Memory)及びRAM(Random Access Memory)などの、制御部2のCPUが読み取り可能な非一時的な記録媒体を含んでもよい。記憶部3には、例えば、処理装置1を制御するためのプログラム3aが記憶されている。制御部2の各種機能は、例えば、制御部2のCPUが記憶部3内のプログラム3aを実行することによって実現される。記憶部3は、基準作業点位置情報を記憶している。
 なお、制御部2の構成は上記の例に限られない。例えば、制御部2は、複数のCPUを備えてもよい。また制御部2は、少なくとも一つのDSP(Digital Signal Processor)を備えてもよい。また、制御部2の全ての機能あるいは制御部2の一部の機能は、その機能の実現にソフトウェアが不要なハードウェア回路によって実現されてもよい。また、記憶部3は、ROM及びRAM以外の、コンピュータが読み取り可能な非一時的な記録媒体を備えてもよい。記憶部3は、例えば、小型のハードディスクドライブ及びSSD(Solid State Drive)などを備えてもよい。
 制御部2は、載置面35を基準としたロボット10の動きを調整するキャリブレーションを行う。制御部2は、キャリブレーションにおいて、例えば、接触対向部材情報を取得し、取得した接触対向部材情報に基づいて、作業台30の載置面35の姿勢を特定する。そして、制御部2は、載置面35の特定姿勢と、接触対向部材情報に含まれる接触位置情報とに基づいて、基準作業点位置情報を補正して、作業点200の現在の位置情報を求める。
 制御部2は、例えば、ロボット10を制御するロボット制御部20と、特定部25と、取得部27とを備える。ロボット制御部20、特定部25及び取得部27は、例えば、制御部2のCPUが記憶部3内のプログラム3aを実行することによって、制御部2に形成される機能ブロックである。なお、ロボット制御部20の全ての機能あるいはロボット制御部20の一部の機能は、その機能の実現にソフトウェアが不要なハードウェア回路によって実現されてもよい。特定部25及び取得部27についても同様である。
 取得部27は、接触対向部材情報を取得することができる。特定部25は、取得部27で取得された接触対向部材情報に基づいて、対象載置面35の姿勢を特定する。特定部25は、接触対向部材情報に基づいて、例えば、対象載置面35の三次元の姿勢(三次元姿勢という)を特定する。ロボット制御部20は、特定部25で特定された対象載置面35の姿勢(例えば三次元姿勢)と、接触対向部材情報に含まれる接触位置情報とに基づいて、対象載置面35を基準としたロボット10の動きを調整する。ロボット制御部20は、例えば、特定部25で特定された対象載置面35の姿勢と、接触対向部材情報に含まれる接触位置情報とに基づいて、基準作業点位置情報を補正して、作業点200の現在の位置情報を求める。
 ロボット制御部20は、インタフェース5を通じてロボット10を制御する。また、ロボット制御部20は、載置部材40の溝部41の内面42に対する対向部材60の先端部65の接触状態を特定する。ロボット10が備える力覚センサ18(単にセンサ18ともいう)は、キャリブレーションにおいて、先端部65にかかる力を検出する。ロボット制御部20は、センサ18での検出結果に基づいて、溝部41の内面42に対する先端部65の接触状態を特定する。センサ18は、検出結果を示す力検出情報を出力する。キャリブレーションにおいて、ロボット制御部20は、インタフェース5を通じて、センサ18から出力される力検出情報を取得する。そして、ロボット制御部20は、取得した力検出情報に基づいて、溝部41の内面42に対する先端部65の接触状態を特定する。ロボット制御部20は、キャリブレーションにおいて、溝部41の内面42に対する先端部65の接触状態の特定結果に基づいて、対向部材60の先端部65が溝部41内を移動するようにロボット10の動きを制御する。
 <キャリブレーションの一例について>
 <概要>
 作業者は、ロボット10及び対象作業台30を設置して両者の位置合わせが完了すると、例えば、フリードライブモードのロボット10のエンドエフェクタ15を手に掴んで動かして、エンドエフェクタ15に取り付けられている対向部材60の先端部65を、対象載置面35上の対象載置部材40の溝部41の内面42の一方の対向面43のみに接触させる。あるいは、作業者は、先端部65を一方の対向面43の近くに配置する。ここでは、作業者は、先端部65を第1対向面43aのみに接触させる、あるいは先端部65を第1対向面43aの近くに配置するものとする。
 作業者は、先端部65を第1対向面43aのみに接触させる、あるいは先端部65を第1対向面43aの近くに配置すると、キャリブレーションの実行を処理装置1に指示する。処理装置1が、作業者の指示入力を受け付ける入力部を備える場合には、作業者は、当該入力部を通じて処理装置1にキャリブレーションの実行を指示してもよい。処理装置1が備える入力部には、例えば、マウス、キーボード及びタッチセンサ等が含まれてもよい。また、作業者は、処理装置1とネットワークを通じて通信することが可能な情報処理端末を利用して処理装置1に対してキャリブレーションの実行を指示してもよい。情報処理端末は、例えば、ノート型あるいはデスクトップ型のパーソナルコンピュータであってもよいし、タブレット端末であってもよい。
 処理装置1は、キャリブレーションの実行指示を受け取ると、ロボット10のキャリブレーションを開始する。キャリブレーションにおいて、処理装置1のロボット制御部20は、センサ18から出力される力検出情報に基づいて、先端部65が第1対向面43aのみに接触しているか否かを特定する。ロボット制御部20は、先端部65が第1対向面43aに接触していないとき、先端部65が下方(地面側あるいは床側)に移動するようにロボット10の動きを制御して、先端部65が第1対向面43aのみに接触するようにする。
 図10は、先端部65が下方に移動して溝部41の第1対向面43aのみに接触する様子の一例を示す概略図である。先端部65が溝部41の第1対向面43aのみに接触する場合、先端部65は溝部41の内面42に対して一点接触する。
 図10に示されるように、先端部65が第1対向面43aのみに接触する場合、先端部65は、載置部材40の上方向に向く力310aと、載置部材40の左方向に向く力300aとを受ける。つまり、先端部65が溝部41の第1対向面43aのみに当たっている場合、先端部65は、載置部材40の上方向に向く力310aと、載置部材40の左方向に向く力300aとを受ける。以後、力300aを左向きの力300aと呼び、力310aを上向きの力310aと呼ぶことがある。
 先端部65が第1対向面43aのみに接触している場合、言い換えれば、先端部65が溝部41の内面42に対して一点接触している場合、ロボット制御部20は、先端部65が溝部41の内面42の底に向かって第1対向面43aに沿って移動するように、力検出情報に基づいてロボット10を制御する。そして、ロボット制御部20は、先端部65が溝部41の内面42の底まで達して、先端部65が第1対向面43a及び第2対向面43bのみに接触することを特定する。図11は、先端部65が第1対向面43a及び第2対向面43bのみに接触している様子の一例を示す概略図である。
 先端部65が第1対向面43a及び第2対向面43bのみに接触していることが特定されると、処理装置1の特定部25は、現在の先端部65の位置情報、つまり、溝部41の内面42の第1接触位置での先端部65の位置情報を第1接触位置情報として記憶する。第1対向面43a及び第2対向面43bのみに接触する先端部65は、溝部41の内面42に対して二点接触する。第1接触位置は、例えば、内面42での先端部65の二点接触位置であるともいえる。第1接触位置は内面42に位置する。処理装置1は、力検出情報に基づいて、先端部65が第1対向面43a及び第2対向面43bのみに接触していることを特定する。
 図11に示されるように、先端部65が第1対向面43a及び第2対向面43bのみに接触する場合、先端部65は、第1対向面43aから上向きの力300a及び左向きの310aを受け、第2対向面43bから、対象載置部材40の上方向に向く力310b(上向きの力310bともいう)と、対象載置部材40の右方向に向く力300b(右向きの力300bともいう)とを受ける。先端部65は、第1対向面43a及び第2対向面43bのみに当たっている場合、上向きの力300a及び左向きの310aと、上向きの力310b及び右向きの力300bとを受ける。右向きの力300aと左向きの力300bとは互いに反対の向きの力であることから、先端部65が第1対向面43a及び第2対向面43bのみに接触する場合、先端部65が第1対向面43aのみに接触する場合と比較して、先端部65にかかる、対象載置部材40の左右方向の力は小さくなる。一方で、上向きの力310a及び310bによって、先端部65にかかる、対象載置部材40の上下方向の力は大きくなる。
 先端部65が第1対向面43a及び第2対向面43bのみに接触している場合、言い換えれば、先端部65が溝部41の内面42に対して二点接触している場合、ロボット制御部20は、先端部65が溝部41内を壁面44に向かって溝部41に沿って移動するように、力検出情報に基づいてロボット10を制御する。そして、ロボット制御部20は、先端部65が溝部41の壁面44まで達して、先端部6が第1対向面43a、第2対向面43b及び壁面44のみに接触することを特定する。図12は、先端部6が第1対向面43a、第2対向面43b及び壁面44のみに接触する様子の一例を示す概略図である。
 先端部6が第1対向面43a、第2対向面43b及び壁面44のみに接触することが特定されると、特定部25は、現在の先端部65の位置情報、つまり、溝部41の内面42の第2接触位置での先端部65の位置情報を、第2接触位置情報として記憶する。第1対向面43a、第2対向面43b及び壁面44のみに接触する先端部65は、溝部41の内面42に対して三点接触する。第2接触位置は、例えば、内面42での先端部65の三点接触位置であるといえる。第2接触位置は、第1接触位置から載置面35に沿って離れて位置する。第2接触位置は、溝部41の内面42において、第1接触位置から溝部41の長手方向に沿って離れて位置する。第2接触位置は、壁面44に対する対向部材60の接触位置であるともいえる。処理装置1は、力検出情報に基づいて、先端部65が第1対向面43a、第2対向面43b及び壁面44のみに接触していることを特定する。
 図12に示されるように、先端部65が第1対向面43a、第2対向面43b及び壁面44のみに接触する場合、先端部65は、第1対向面43aから上向きの力300a及び左向きの310aを受け、第2対向面43bから上向きの力300b及び右向きの310bを受ける。そして、先端部65は、対象載置部材40の手前方向に向く力320(手前向きの力320ともいう)を壁面44から受ける。先端部65は、第1対向面43a、第2対向面43b及び壁面44のみに当たっている場合、上向きの力300a及び左向きの310aと、上向きの力300b及び右向きの310bと、手前向きの力320とを受ける。
 次に、処理装置1の特定部25は、第1接触位置情報及び第2接触位置情報に基づいて、対象載置面35の姿勢を特定する。第1接触位置情報及び第2接触位置情報は、対向部材60が対象載置部材40に接触しているときに取得された対向部材60に関する情報、つまり接触対向部材情報であるともいえる。そして、ロボット制御部20は、対象載置面35の特定姿勢と第2接触位置情報とに基づいて、基準作業点位置情報を補正して、作業点200の現在の位置情報を求める。これにより、ロボット制御部20は、作業点200について求めた位置情報に基づいてロボット10の所定部位(例えばエンドエフェクタ15)を作業点200まで適切に移動させて、ロボット10に作業点200で作業を実行させることができる。ロボット制御部20は、対象載置面35の特定姿勢と第2接触位置情報とに基づいて、ロボット10の動きを制御するといえる。
 <詳細>
 センサ18には、例えば、図2に示されるように、xyz直交座標系180が設定されている。以後、センサ18に設定されているxyz直交座標系180をセンサ座標系180と呼ぶ。また、センサ座標系180のx軸、y軸及びz軸を、それぞれセンサx軸、センサy軸及びセンサz軸と呼ぶ。また、センサ座標系180のx軸方向、y軸方向及びz軸方向を、それぞれセンサx方向、センサy方向及びセンサz方向と呼ぶ。また、センサx軸のプラス方向及びマイナス方向を、それぞれセンサ+x方向及びセンサ-x方向と呼ぶ。また、センサy軸のプラス方向及びマイナス方向を、それぞれセンサ+y方向及びセンサ-y方向と呼ぶ。また、センサz軸のプラス方向及びマイナス方向を、それぞれセンサ+z方向及びセンサ-z方向と呼ぶ。
 センサ18は、対向部材60の先端部65にかかるセンサx方向の力と、先端部65にかかるセンサy方向の力と、先端部65にかかるセンサz方向の力とを検出する。以後、センサ18が検出したセンサx方向の力をセンサx方向検出力と呼ぶ。また、センサ18が検出したセンサy方向の力をセンサy方向検出力と呼ぶ。また、センサ18が検出したセンサz方向の力をセンサz方向検出力と呼ぶ。キャリブレーションにおいて、センサx方向検出力がプラスを示す場合、先端部65には+x方向に力がかかり、センサx方向検出力がマイナスを示す場合、先端部65には-x方向に力がかかる。センサy方向検出力及びセンサz方向検出力についても同様である。
 センサ18から出力される力検出情報には、センサx方向検出力、センサy方向検出力及びセンサz方向検出力が含まれる。本例では、センサ18から出力される力検出情報では、重力の影響がキャンセルされている。したがって、エンドエフェクタ15及び対向部材60に物体が接触していない場合、力検出情報に含まれるセンサx方向検出力、センサy方向検出力及びセンサz方向検出力のそれぞれは零となる。
 本例では、図2に示されるように、センサz方向は、対向部材60の長手方向(言い換えれば棒状部61の長手方向)に沿って設定されている。そして、センサ+z方向は、対向部材60の根本側(言い換えればエンドエフェクタ15側)から先端部65に向かう方向と同じ向きに設定されている。
 図13はキャリブレーションの一例を示すフローチャートである。キャリブレーションの実行指示を受けた処理装置1では、ステップs1において、ロボット制御部20が、センサ+z方向の向きが、ロボット座標系100のZ軸のプラス方向と同じ向きとなるように、アーム11の姿勢を変化させる。これにより、センサ-z方向は、重力方向と概ね同じ向きとなる。ステップs1の実行後、センサz軸はロボット座標系100のZ軸に平行である。
 本例では、対象載置面35の位置姿勢が基準位置姿勢からずれている場合であっても、対象載置面35に垂直な方向は、基準位置姿勢の載置面35に垂直な方向からあまり変化していないものとする。例えば、対象載置面35に垂直な方向は、基準位置姿勢の載置面35に垂直な方向に対して5度以上はずれないものとする。したがって、対象載置面35に垂直な方向は、常に、ロボット座標系のZ軸に概ね平行である。また、対象載置面35上の対象載置部材40の溝部41の深さ方向(言い換えれば、対象載置部材40の上下方向)は、常に、ロボット座標系のZ軸に概ね平行である。また、対象載置部材40の上方向は、ロボット座標系のZ軸のプラス方向と概ね同じ向きとなっている。
 次にステップs2において、ロボット制御部20は、対向部材60の先端部65が対象載置部材40の溝部41の内面42の第1対向面43aのみに接触しているか否かを特定する。言い換えれば、ロボット制御部20は、先端部65が溝部41の内面42に対して1点接触しているか否かを特定する。ステップs2において、ロボット制御部20は、例えば、センサz方向検出力がプラスであって、かつセンサz方向検出力の絶対値が第1しきい値よりも大きい場合、先端部65が第1対向面43aのみに接触していると判断する。
 上述の図10に示されるように、先端部65が第1対向面43aのみに接触する場合、先端部65は、対象載置部材40の上方向に向く上向きの力310aを受ける。センサ+z方向は、ロボット座標系のZ軸のプラス方向と同じ向きであり、ロボット座標系のZ軸のプラス方向は、対象載置部材40の上方向と概ね同じ向きである。したがって、センサ+z方向は、上向きの力310aと概ね同じ向きとなっている。よって、先端部65が第1対向面43aのみに接触する場合、センサz方向検出力がプラスとなり、センサz方向検出力の絶対値が大きくなる。これにより、ロボット制御部20は、センサz方向検出力がプラスであって、かつセンサz方向検出力の絶対値が第1しきい値よりも大きい場合、先端部65が第1対向面43aのみに接触していると判断することによって、先端部65が第1対向面43aのみに接触していることを適切に特定することができる。
 ステップs2においてNOと判定されると、ステップs3が実行される。ステップs3において、ロボット制御部20は、センサz方向検出力の絶対値が第1しきい値よりも大きくなるまで、先端部65をセンサ-z方向に移動させて、先端部65が第1対向面43aのみに接触するようにする。
 ステップs2においてYESと判定されると、ステップs4が実行される。また、ステップs3が実行されると、ステップs4が実行される。ステップs4において、ロボット制御部20は、ステップs1で設定されたセンサ+z方向の向きと先端部65の位置のそれぞれが変わらないように、かつセンサ+x方向が対象載置部材40の左方向と概ね同じ向きとなるように、ロボット10のアーム11の姿勢を変化させる。
 ここで、センサ+z方向が対象載置部材40の上方向と同じ向きであり、センサ+x方向が対象載置部材40の左方向と同じ向きである場合を考える。この場合、図10のように、先端部65が第1対向面43aのみに接触していると、センサx方向検出力がプラスとなり、センサx方向検出力の絶対値は大きくなる。また、センサy方向検出力の絶対値は零になる。ステップs4において、ロボット制御部20は、センサz軸を回転軸としてエンドエフェクタ15が回転するようにアーム11の姿勢を変化させて、エンドエフェクタ15の姿勢を、センサy方向検出力の絶対値が最小となり、かつセンサx方向検出力がプラスとなるような姿勢に設定する。これにより、センサ+x方向が、対象載置部材40の左方向と概ね同じ向きとなる。図14は、ステップs4の実行後のセンサ座標系180及び対象載置部材40の関係の一例を示す概略図である。ステップs4の実行後においては、図14に示されるように、センサ+x方向は、対象載置部材40の左方向と概ね同じ向きとなり、センサ+z方向は、対象載置部材40の上方向と概ね同じ向きとなり、センサ+y方向は、対象載置部材40の奥方向と概ね同じ向きとなる。
 ステップs4の後、ステップs5が実行される。ステップs5において、ロボット制御部20は、ロボット10を制御して、先端部65を溝部41の底に向かって第1対向面43aに沿って移動させる(図11参照)。
 ステップs5では、ロボット制御部20は、まず、センサz方向検出力の絶対値が第1しきい値以下となるまで、先端部65をセンサ+x方向に移動させる。次に、ロボット制御部20は、センサz方向検出力の絶対値が第1しきい値以上となるまで、先端部65をセンサ-z方向に移動させる。ロボット制御部20は、このような、先端部65のセンサ+x方向への移動と、先端部65のセンサ-z方向への移動とを繰り返し実行することによって、先端部65を溝部41の底に向かって第1対向面43aに沿って移動させる。
 ロボット制御部20が、先端部65のセンサ+x方向への移動と、先端部65のセンサ-z方向への移動とを繰り返し実行しているときに、先端部65が第1対向面43a及び第2対向面43bのみに接触していることを特定すると(ステップs6)、ステップs7が実行される。言い換えれば、ロボット制御部20が、先端部65が溝部41の内面42に対して二点接触していることを特定すると、ステップs7が実行される。ロボット制御部20は、センサz方向検出力の絶対値が、第1しきい値よりも大きい第2しきい値よりも大きくなると、先端部65が第1対向面43a及び第2対向面43bのみに接触していると判断する。
 上述のように、先端部65が第1対向面43a及び第2対向面43bのみに接触する場合、先端部65が第1対向面43aのみに接触する場合と比較して、先端部65にかかる、対象載置部材40の上下方向の力は大きくなる。よって、ロボット制御部20は、センサz方向検出力の絶対値が、第1しきい値よりも大きい第2しきい値よりも大きくなると、先端部65が第1対向面43a及び第2対向面43bのみに接触していると判断することによって、先端部65が第1対向面43a及び第2対向面43bのみに接触していることを適切に特定することができる。
 ステップs7において、特定部25は、現在の先端部65の位置情報を取得して第1接触位置情報として記憶部3に記憶する。特定部25は、第1対向面43a及び第2対向面43bのみに接触している先端部65の位置情報を第1接触位置情報として記憶部3に記憶する。特定部25は、溝部41の内面42に対して二点接触している先端部65の位置情報を第1接触位置情報として記憶部3に記憶するともいえる。第1接触位置情報としては、例えば、第1対向面43a及び第2対向面43bのみに接触している先端部65についてのロボット座標系100での位置座標が採用される。以後、当該位置座標を第1接触位置座標と呼ぶことがある。
 ここで、ロボット10は、アーム11の各関節の回転角度を検出する角度センサを備えている。特定部25は、各角度センサで検出された回転角度と、ロボット10の形状を表すロボット形状情報と、対向部材60の形状を表す対向部材形状情報とに基づいて、現在の先端部65の位置情報を取得することができる。特定部25は、インタフェース5を通じて、ロボット10の各角度センサで検出された回転角度を取得することができる。また、ロボット形状情報及び対向部材形状情報は記憶部3に記憶されている。
 以後、特定部25が取得した第1接触位置情報を取得第1接触位置情報と呼ぶことがある。同様に、特定部25が取得した第1接触位置座標を取得第1接触位置座標と呼ぶことがある。
 ステップs7の後、ステップs8において、ロボット制御部20は、先端部65を溝部41の壁面44に向かって溝部41内を移動させる。ステップs8において、ロボット制御部20は、センサ+y方向に先端部65を移動させることによって、先端部65を溝部41の壁面44に向かって溝部41内を移動させる。ただし、ロボット制御部20は、先端部65を+y方向に移動させているときに、溝部41の内面42に対する先端部65の適切な二点接触を維持するための二点接触維持条件を満たさなくなると、二点接触維持条件が満たされるように、先端部65をセンサz方向あるいはセンサx方向に移動させる。二点接触維持条件は、センサz方向検出力に関する第1条件と、センサx方向検出力に関する第2条件とで構成される。第1条件と第2条件の両方が満たされるとき、二点接触維持条件が満たされる。
 第1条件は、例えば、センサz方向検出力がプラスであり、かつセンサz方向検出力の絶対値が所定範囲内であるという条件である。所定範囲は、例えば、第3しきい値以上第2しきい値以下である。第3しきい値は、第2しきい値よりも小さい。第3しきい値は、第1しきい値と同じであってもよいし、第1しきい値よりも小さくてもよいし、第1しきい値よりも大きくてもよい。
 上述のように、溝部41の内面42に対して先端部65は二点接触するときには、先端部65にかかる右向きの力300aと左向きの力300bとが互いに打ち消し合って、先端部65にかかる、載置部材40の左右方向の力は小さくなる。そこで、第2条件は、センサx方向検出力の絶対値が小さいという条件である。つまり、第2条件は、センサx方向検出力の絶対値が第4しきい値よりも小さいという条件である。
 先端部65が壁面44に向かって移動しているときに、第1条件及び第2条件が満たされることによって、先端部65の二点接触が維持されなくなったり、先端部65が溝部41の内面42に対して強く押し付けられて対向部材60が損傷したりする可能性が低減する。
 ロボット制御部20は、先端部65を壁面44に向けて移動させているときに、先端部65が第1対向面43a、第2対向面43b及び壁面44のみに接触しているを特定すると(ステップs9)、先端部65の移動をロボット10に停止させる。言い換えれば、ロボット制御部20は、先端部65が溝部41の内面42に対して三点接触していることを特定すると、先端部65の移動をロボット10に停止させる。先端部65の移動が停止すると、ステップs11が実行される。ロボット制御部20は、センサy方向検出力がマイナスであり、かつセンサy方向検出力の絶対値が第5しきい値よりも大きいとき、先端部65が第1対向面43a、第2対向面43b及び壁面44のみに接触していると判断する。
 ステップs11において、特定部25は、現在の先端部65の位置情報を第2接触位置情報として記憶部3に記憶する。特定部25は、第1対向面43a、第2対向面43b及び壁面44のみに接触している先端部65の位置情報を第2接触位置情報として記憶部3に記憶する。特定部25は、溝部41の内面42に対して三点接触している先端部65の位置情報を第2接触位置情報として記憶部3に記憶するともいえる。第2接触位置情報としては、例えば、第1対向面43a、第2対向面43b及び壁面44のみに接触している先端部65についてのロボット座標系100での位置座標が採用される。以後、当該位置座標を第2接触位置座標と呼ぶことがある。
 以後、特定部25が取得した第2接触位置情報を取得第2接触位置情報と呼ぶことがある。同様に、特定部25が取得した第2接触位置座標を取得第2接触位置座標と呼ぶことがある。
 ステップs11の後、ステップs12において、特定部25は、記憶部3内の取得第1接触位置情報及び取得第2接触位置情報に基づいて、対象載置面35の姿勢を特定する。
 ここで、記憶部3には、基準位置姿勢の載置面35上の載置部材40の溝部41の内面42に対して二点接触するときの先端部65の位置情報が基準第1接触位置情報として記憶されている。基準第1接触位置情報は、基準位置姿勢の載置面35上の載置部材40の第1対向面43a及び第2対向面43bのみに接触する先端部65の位置情報ともいえる。基準第1接触位置情としては、例えば、基準位置姿勢の載置面35上の載置部材40の溝部41の内面42に対して二点接触するときの先端部65についてのロボット座標系100での位置座標が採用される。以後、当該位置座標を、基準第1接触位置座標と呼ぶことがある。
 また、記憶部3には、基準位置姿勢の作業台30上の載置部材40の溝部41の内面42に対して三点接触するときの先端部65の位置情報が基準第2接触位置情報として記憶されている。基準第2接触位置情報は、基準位置姿勢の作業台30上の載置部材40の第1対向面43a、第2対向面43b及び壁面44のみに接触する先端部65の位置情報ともいえる。基準第2接触位置情としては、例えば、基準位置姿勢の作業台30上の載置部材40の溝部41の内面42に対して三点接触するときの先端部65についてのロボット座標系100での位置座標が採用される。以後、当該位置座標を基準第2接触位置座標と呼ぶことがある。
 ステップs12において、特定部25は、基準第1接触位置座標及び基準第2接触位置座標と、取得第1接触位置座標及び取得第2接触位置座標とに基づいて、対象載置面35の姿勢を特定する。
 図15は、基準第1接触位置座標A1、基準第2接触位置座標P1、取得第1接触位置座標A2及び取得第2接触位置座標P2の一例を示す概略図である。
 図15では、基準位置姿勢の載置面35と、その上の載置部材40とが破線で示されている。また、図15では、対象載置面35と、その上の対象載置部材40とが実線で示されている。図15では、基準作業点座標I1と、対象載置面35を基準とした作業点200の位置座標I2も示されている。
 以後、対象載置面35を基準とした作業点200を対象作業点200と呼ぶことがある。また、対象作業点200の位置情報を対象作業点位置情報と呼ぶことがある。また、対象作業点位置情報としての位置座標を対象作業点座標と呼ぶことがある。また、基準位置姿勢の載置面35上の載置部材40を基準載置部材40と呼ぶことがある。また、基準位置姿勢の載置面35を基準載置面35と呼ぶことがある。
 基準載置部材40の溝部41の内面42に対して三点接触するときの先端部65の位置は、基準載置面35の位置で決まる。基準載置部材40の溝部41の内面42に対して三点接触するときの先端部65の位置は、基準載置面35に固定された基準載置部材40の位置で決まるともいえる。したがって、基準第2接触位置座標P1は、基準載置面35の位置を示す情報であるといえるし、基準載置部材40の位置を示す情報であるといえる。
 同様に、対象載置部材40の溝部41の内面42に対して三点接触するときの先端部65の位置は、対象載置面35の位置で決まる。対象載置部材40の溝部41の内面42に対して三点接触するときの先端部65の位置は、対象載置面35に固定された対象載置部材40の位置で決まるともいえる。したがって、ステップs10で取得される第2接触位置座標P2は、対象載置面35の位置を示す情報であるといえるし、対象載置部材40の位置を示す情報であるといえる。
 特定部25は、基準第1接触位置座標A1、基準第2接触位置座標P1、取得第1接触位置座標A2及び取得第2接触位置座標P2に基づいて、例えば、対象載置面35の三次元姿勢を特定する。特定部25は、まず、図16の上側に示されるように、基準第2接触位置座標P1から基準第1接触位置座標A1までのベクトルV1と、取得第2接触位置座標P2から取得第1接触位置座標A2までのベクトルV2とを求める。ベクトルV1とベクトルV2は三次元ベクトルである。
 次に、図16の下側に示されるように、特定部25は、ベクトルV1の始点をベクトルV2の始点(つまり、取得第2接触位置座標P2)に一致させる。図16では、ベクトルV1の始点をベクトルV2の始点に一致させた後のベクトルV1の終点の位置座標がA1aで示されている。そして、特定部25は、ベクトルV1とベクトルV2とが成す角度θ1を求める。
 次に、特定部25は、取得第2接触位置座標P2を中心としてベクトルV1を角度θ1だけ回転移動させてベクトルV2と重ねるための第1回転行列を求める。第1回転行列は、対象載置面35の三次元姿勢を表している。具体的には、第1回転行列は、基準載置面35に対する対象載置面35の相対的な姿勢を表している。第1回転行列は、対象載置部材40の三次元姿勢を表しているともいえる。つまり第1回転行列は、基準載置部材40に対する対象載置部材40の相対的な姿勢を表しているともいえる。特定部25は、基準第1接触位置座標A1、基準第2接触位置座標P1、取得第1接触位置座標A2及び取得第2接触位置座標P2に基づいて第1回転行列を求めることによって、対象載置面35の三次元姿勢を特定する。特定部25は、基準第1接触位置座標A1、基準第2接触位置座標P1、取得第1接触位置座標A2及び取得第2接触位置座標P2に基づいて第1回転行列を求めることによって、対象載置部材40の三次元姿勢を特定するともいえる。
 このように、本例では、対象載置部材40の第1接触位置での対向部材60の位置情報(つまり、第1接触位置情報)と、対象載置部材40の第2接触位置での対向部材60の第2位置情報(つまり、第2接触位置情報)とに基づいて、対象載置面35の姿勢が特定されている。第2接触位置は、第1接触位置から対象載置面35に沿って離れて位置していることから、第1接触位置と第2接触位置とを結ぶ線は、対象載置面35と平行となる。このように、それらを結んだ線が対象載置面35に平行となるような第1接触位置及び第2接触位置での位置情報に基づいて、対象載置面35の姿勢が特定されることによって、対象載置面35の姿勢の特性精度を向上させることができる。
 また、本例では、第1接触位置及び第2接触位置は、溝部41の内面42に位置することから、処理装置1は、対向部材60を溝部41内において溝部41に沿って移動させることによって、第1接触位置及び第2接触位置での対向部材60の位置情報を取得することができる。これにより、第1接触位置及び第2接触位置での位置情報を取得する際の対向部材60の移動制御が容易となる。
 また、本例では、第2接触位置は、溝部41の内面42の壁面44に対する対向部材60の接触位置であることから、処理装置1は、壁面44に接しているときの対向部材60の位置情報を取得することによって第2接触位置での位置情報を取得することができる。これにより、第2接触位置での位置情報を取得する際の対向部材60の位置決めが容易となる。
 ステップs12において対象載置面35の姿勢が特定されると、ステップs13が実行される。ステップs13では、ロボット制御部20が、対象載置面35の特定姿勢と、対象載置面35の位置を示す取得第2接触位置情報とに基づいて、基準作業点位置情報を補正して、対象作業点位置情報を求める。具体的には、ロボット制御部20は、対象載置面35の特定姿勢を表す第1回転行列と、対象載置面35の位置を表す第2接触位置情報とに基づいて基準作業点位置情報を補正して、対象作業点位置情報を求める。これにより、対象載置面35を基準としたロボット10の動きが調整される。ロボット制御部20は、対象載置面35を基準としたロボット10の動きを調整する調整部として機能するといえる。第1回転行列及び取得第2接触位置情報は、対象載置面35の位置姿勢を表す情報であるともいえるし、対象載置部材40の位置姿勢を表す情報であるともいえる。
 ステップs11の後のステップs12では、ロボット制御部20が、基準作業点座標I1に対して、基準載置面35の位置に対する対象載置面35の位置のオフセット値を足し合わせてオフセット位置座標を求める。具体的には、ロボット制御部20は、取得第2接触位置座標P2のX座標値から基準第2接触位置座標P1のX座標値を差し引いて得られるX座標オフセット値を求める。また、ロボット制御部20は、取得第2接触位置座標P2のY座標値から基準第2接触位置座標P1のY座標値を差し引いて得られるY座標オフセット値を求める。そして、ロボット制御部20は、取得第2接触位置座標P2のZ座標値から基準第2接触位置座標P1のZ座標値を差し引いて得られるZ座標オフセット値を求める。ロボット制御部20は、基準作業点座標I1のX座標値、Y座標値及びZ座標値に対して、X座標オフセット値、Y座標オフセット値及びZ座標オフセット値をそれぞれ足し合わせて得られる位置座標を、オフセット位置座標とする。ロボット制御部20は、基準作業点座標I1をオフセットしたオフセット位置座標に対して第1回転行列を掛け合わせて得られる位置座標を、対象作業点座標I2とする。
 このようにして、基準作業点位置情報が補正されて対象作業点位置情報が求められる。複数の作業点200が設定されている場合には、ステップs12において、各作業点200の位置情報が求められる。ステップs12が終了すると、キャリブレーションが終了する。
 以上のように、キャリブレーションにおいては、ロボット制御部20が、対向部材60の先端部65にかかる力を検出するセンサ18での検出結果に基づいて、対象載置部材40の溝部41の内面42に対する先端部65の接触状態を特定している。そして、ロボット制御部20は、特定した接触状態に基づいて、先端部65が溝部41内を壁面44まで移動するようにロボット10を制御している。このように、溝部41の内面42に対する先端部65の接触状態の特定結果に基づいて、先端部65が溝部41内を壁面44まで移動させられることによって、先端部65を壁面44まで容易に移動させることができる。
 また、本例では、載置部材40の溝部41の内面42は、それぞれが対向部材60の先端部65と点接触する複数の面を有することから、先端部65が溝部41内を移動する際の先端部65と溝部41の内面42との接触抵抗を低減することができる。これにより、先端部65が溝部41内を移動する際に対向部材60が損傷しにくくなる。
 また、本例では、溝部41の内面42が有する対向面43は、上方に向かって外側に傾斜する傾斜面となっていることから、先端部65を溝部41に入れやすくなる。
 また、本例では、溝部41の内面42は、溝部41の長手方向の一方端に位置する壁面44を有する。これにより、壁面44に対する先端部65の接触位置での先端部65の位置情報を取得することによって、作業台30の載置面35の位置を表す情報を容易に取得することができる。
 また、本例では、溝部41の長手方向の他方端は開口していることから、先端部65を溝部41内に斜めから入れることも可能となり、先端部65を溝部41に入れやすくなる。
 また、本例では、ロボット制御部20は、先端部65が溝部41の内面42に対して一点接触すると、先端部65が溝部41の内面42の底に向かって移動するようにロボット10を制御している。これにより、先端部65を対向面43に接触させた後に溝部41の内面42の底に向かって移動させることができる。
 また、本例では、ロボット制御部20は、先端部65が溝部41の内面42に対して二点接触すると、先端部65が溝部41の内面42の壁面44に向かって移動するようにロボット10を制御し、先端部65が溝部41の内面42に対して三点接触すると、先端部65の移動をロボット10に停止させている。これにより、先端部65を一対の対向面43のそれぞれに接触させた後に溝部41の壁面44に向かって移動させて、壁面44に接触したときに先端部65の移動を停止することができる。
 なお、上記の例では、対向部材60の先端部65は第1対向面43aに一点接触しているが、先端部65は第2対向面43bに一点接触してもよい。この場合であって、上記と同じような考えで先端部65の移動が制御されることによって、第1接触位置情報及び第2接触位置情報が適切に取得される。
 また、上記の例では、キャリブレーションにおいて、1つの載置部材40が使用されているが、複数の載置部材40が使用されてもよい。以下に、2つの載置部材40が使用されるキャリブレーションの一例について説明する。
 図17は、作業台30上の2つの載置部材40の配置例を示す概略図である。図17に示されるように、2つの載置部材40は、例えば、載置面35において対角に位置する2つの角部にそれぞれ配置される。各載置部材40は、例えば、溝部41の長手方向が載置面35の短手方向と平行となるように配置される。また、一方の載置部材40の奥方向(つまり、開口45から壁面44に向かう方向)と、他方の載置部材40の奥方向とが互いに同じ向きとなるように、2つの載置部材40が配置される。以後、図17の右下の載置部材40を第1載置部材40Aと呼び、図17の左上の載置部材40を第2載置部材40Bと呼ぶことがある。
 第1載置部材40A及び第2載置部材40Bが使用されるキャリブレーションでは、特定部25は、第1載置部材40Aについての基準第2接触位置情報及び取得第2接触位置情報と、第2載置部材40Bについての基準第2接触位置情報及び取得第2接触位置情報とに基づいて、載置面35の姿勢を特定する。第1載置部材40A及び第2載置部材40Bが使用されるキャリブレーションでは、例えば、第1載置部材40Aについての基準第1接触位置情報及び取得第1接触位置情報と、第2載置部材40Bについての基準第1接触位置情報及び取得第1接触位置情報とは使用されない。
 図18は、第1載置部材40Aについての基準第2接触位置座標P11及び取得第2接触位置座標P21と、第2載置部材40Bについての基準第2接触位置座標P12及び取得第2接触位置座標P22との一例を示す概略図である。図18では、基準位置姿勢の載置面35及び基準載置部材40が破線で示されている。また、図18では、対象作業台30及び対象載置部材40が実線で示されている。図18では、基準作業点座標I11及び対象作業点座標I12も示されている。
 特定部25は、第1載置部材40A及び第2載置部材40Bの一方を、2つの載置部材40を用いたキャリブレーション(2個使用キャリブレーションともいう)での基準の載置部材40とする。この基準の載置部材40は、主となる載置部材40ともいえる。以後、2個使用キャリブレーションでの基準の載置部材40を主載置部材40と呼ぶ。また、主載置部材40とは異なる載置部材40を副載置部材40と呼ぶことがある。また、上述のように、1つの載置部材40を用いたキャリブレーションを1個使用キャリブレーションと呼ぶことがある。
 特定部25は、まず、主載置部材40の基準第2接触位置座標から、副載置部材40の基準第2接触位置座標までのベクトルV11を求める。また、特定部25は、主載置部材40の取得第2接触位置座標から、副載置部材40の取得第2接触位置座標までのベクトルV12を求める。図19の上側には、主載置部材40が第1載置部材40Aである場合のベクトルV11及びV12が示されている。ベクトルV11は、第1載置部材40Aの基準第2接触位置座標P11から第2載置部材40Bの基準第2接触位置座標P12まで延びている。ベクトルV12は、第1載置部材40Aの取得第2接触位置座標P21から第2載置部材40Bの取得第2接触位置座標P22まで延びている。ベクトルV11及びベクトルV12は三次元ベクトルである。
 次に、特定部25は、ベクトルV11の始点をベクトルV12の始点に一致させる。図19の下側には、主載置部材40が第1載置部材40Aである場合において、ベクトルV11の始点をベクトルV12の始点に一致させた様子が示されている。図19の下側では、ベクトルV11の始点をベクトルV12の始点に一致させた後のベクトルV11の終点の位置座標がP12aで示されている。特定部25は、ベクトルV11の始点をベクトルV12の始点に一致させた後、ベクトルV11とベクトルV12とが成す角度θ2を求める。
 次に、特定部25は、ベクトルV12の始点(図19では取得第2接触位置座標P21)を中心としてベクトルV11を角度θ2だけ回転移動させてベクトルV12と重ねるための第2回転行列を求める。第2回転行列は、上述の第1回転行列と同様に、対象載置面35の三次元姿勢を表している。特定部25は、基準第2接触位置座標P11、基準第2接触位置座標P12、取得第2接触位置座標P21及び取得第2接触位置座標P22に基づいて第2回転行列を求めることによって、対象載置面35の三次元姿勢を特定する。
 ロボット制御部20は、第1回転行列及び取得第2接触位置座標P2に基づいて基準作業点座標I1を補正する場合と同様に、第2回転行列と、主載置部材40の取得第2接触位置情報とに基づいて基準作業点座標I11を補正して、対象作業点座標I12を求める。具体的には、例えば第1載置部材40Aが主載置部材40である場合、ロボット制御部20は、第1載置部材40Aの取得第2接触位置座標P21のX座標値から、第1載置部材40Aの基準第2接触位置座標P11のX座標値を差し引いて得られるX座標オフセット値を求める。また、ロボット制御部20は、取得第2接触位置座標P21のY座標値から基準第2接触位置座標P11のY座標値を差し引いて得られるY座標オフセット値を求める。そして、ロボット制御部20は、取得第2接触位置座標P21のZ座標値から基準第2接触位置座標P11のZ座標値を差し引いて得られるZ座標オフセット値を求める。ロボット制御部20は、基準作業点座標I11のX座標値、Y座標値及びZ座標値に対して、X座標オフセット値、Y座標オフセット値及びZ座標オフセット値をそれぞれ足し合わせて得られる位置座標を、オフセット位置座標とする。そして、ロボット制御部20は、基準作業点座標I11をオフセットしたオフセット位置座標に対して第2回転行列を掛け合わせて得られる位置座標を、対象作業点座標I12とする。
 このようにして、2つの載置部材40が使用されて基準作業点位置情報が補正されて対象作業点位置情報が求められ、2個使用キャリブレーションが実行される。
 2個使用キャリブレーションでは、一方の載置部材40についての第2接触位置情報が取得された後に、他方の載置部材40についての第2接触位置情報が取得される。作業者は、ロボット10及び対象作業台30を設置して両者の位置合わせが完了すると、フリードライブモードのロボット10のエンドエフェクタ15を手に掴んで動かして、先端部65を、対象作業台30上の一方の載置部材40の溝部41の内面42の一方の対向面43のみに接触させるか、先端部65を一方の対向面43の近くに配置する。その後、処理装置1は、作業者の指示に応じて、図13に示されるステップs1~s11を実行して、一方の載置部材40についての第2接触位置情報を取得する。次に、作業者は、フリードライブモードのロボット10のエンドエフェクタ15を手に掴んで動かして、先端部65を、対象作業台30上の他方の載置部材40の溝部41の内面42の一方の対向面43のみに接触させるか、先端部65を一方の対向面43の近くに配置する。その後、処理装置1は、作業者の指示に応じて、図13に示されるステップs1~s10を実行して、他方の載置部材40についての第2接触位置情報を取得する。その後、処理装置1は、上述のようにして、一方の載置部材40についての基準第2接触位置情報及び取得第2接触位置情報と、他方の載置部材40についての基準第2接触位置情報及び取得第2接触位置情報とに基づいて、対象載置面35の姿勢を特定する。そして、処理装置1は、対象載置面35の特定姿勢と、2つの載置部材40のうち主載置部材40の取得第2接触位置情報とに基づいて基準作業点位置情報を補正して、対象作業点位置情報を取得する。
 なお、ロボット制御部20は、ロボット10の制御において載置面35の高さ情報が必要である場合、取得第2接触位置情報に基づいて載置面35の高さ情報を取得してもよい。例えば、ロボット制御部20は、取得第2接触位置情報と、載置部材の形状を表す載置部材形状情報とに基づいて、載置面35の高さ情報を取得してもよい。ロボット制御部20は、カメラ9で得られる距離画像に基づいて載置面35の高さ情報を取得することも可能である。しかしながら、カメラ9の性能によっては、距離画像に基づいて取得した載置面35の高さ情報の精度が、取得第2接触位置情報に基づいて求めた載置面35の高さ情報の精度よりも低い可能性がある。このような場合には、ロボット制御部20は、取得第2接触位置情報に基づいて求めた載置面35の位置情報に基づいてロボット10を制御してもよい。
 以上のように、処理装置1では、載置面35に配された少なくとも一つの載置部材40に対向部材60が接触しているときに取得された対向部材60に関する対向部材情報に基づいて、載置面35の姿勢が特定される。そして、特定された載置面35の姿勢に基づいて、ロボット10の動きが制御される。これにより、ロボット10は、載置面35の姿勢に応じた動きを行うことができ、ロボット10の動きが適切に制御される。
 なお、ロボット制御部20は、ロボット10の制御において載置面35の位置情報を取得してもよい。すなわち、載置部材40と作業点200の位置関係が固定されている場合、ロボット10の対向部材60が載置部材40に3点接触する位置を基準に、作業点200までロボット10を移動させるように作業させてもよい。
 また、2個使用キャリブレーションでは、1個使用キャリブレーションよりも、載置面35の姿勢の特定精度を向上させることが可能となる。以下にこの点について説明する。
 対象物50の載置面35上の載置部材40が大きくなると、載置部材40がロボット10の作業の邪魔をする可能性があることから、載置部材40を大きくしにくい。したがって、1個キャリブレーションでは、ベクトルV1及びV2(図16参照)の長さを大きくしにくい。そのため、取得第1接触位置座標A2及び取得第2接触位置座標P2に誤差が含まれると、ベクトルV1の始点をベクトルV2の始点に一致させた場合に角度θ1が適切に現れずに、載置面35の姿勢を表す第1回転行列を適切に求められないことがある。
 これに対して、2個キャリブレーションでは、2つの載置部材40を載置面35において対角に配置するなどして、2つの載置部材40の距離を大きくすることが可能であることから、ベクトルV11及びV12の長さを大きくすることができる。そのため、取得第2接触位置座標P21及びP22に誤差が含まれたとしても、ベクトルV11の始点をベクトルV12の始点に一致させた場合に角度θ2が適切に現れやすくなる。その結果、対象載置面35の姿勢を表す第2回転行列を求めやすくなり、対象載置面35の姿勢の特定精度を向上させることができる。
 なお、2つの載置部材40の配置例は図17の例に限られない。例えば、2つの載置部材40は、載置面35の長手方向に沿って並ぶように配置されてもよし、載置面35の短手方向に沿って並ぶように配置されてもよい。
 上記の例では、載置部材40の溝部41の一対の対向面43のそれぞれが、上方に向かって外側に傾斜しているが、一対の対向面43の一方のみが、上方に向かって外側に傾斜してもい。図20は一対の対向面43のうち第1対向面43aのみが上方に向かって外側に傾斜している様子の一例を示す概略図である。一対の対向面43の一方のみが傾斜している場合、キャリブレーションでは、傾斜している対向面43に対して対向部材60の先端部65が一点接触してもよい。
 また、上記の例では、作業者がエンドエフェクタ15を手に掴んで動かして、先端部65を、対象作業台30上の載置部材40の溝部41の一方の対向面43に接触させるか、先端部65を一方の対向面43の近くに配置しているが、ロボット制御部20が、先端部65が一方の対向面43に接触するように、あるいは先端部65が一方の対向面43の近くに位置するように、ロボット10の動きを制御してもよい。図21はこの場合に使用される載置部材40(載置部材40Dともいう)の一例を示す概略図である。
 図21に示されるように、載置部材40Dの上面40aには、載置部材40Dの位置及び姿勢を特定するためのマーク500が付されている。ロボット制御部20は、インタフェース4を通じて、カメラ90で得られるカラー画像を取得する。そして、ロボット制御部20は、取得したカラー画像に写るマーク500に基づいて、載置部材40Dの位置及び姿勢を特定する。そして、ロボット制御部20は、特定した載置部材40Dの位置及び姿勢と、載置部材40Dの形状を表す載置部材形状情報とに基づいて、第1対向面43aの位置及び姿勢を特定する。載置部材形状情報は記憶部3に記憶されている。ロボット制御部20は、特定した第1対向面43aの位置及び姿勢に基づいてロボット10の動きを制御して、対向部材60の先端部65を第1対向面43aのみに接触させるか、先端部65を第1対向面43aの近くに配置する。その後、例えば、上述の図13に示される処理が実行されて、対象載置面35を基準としたロボット10の動きが調整される。
 なお、載置部材40に付されたマーク500が使用されてカメラ9のキャリブレーションが行われてもよい。カメラ9のキャリブレーションとは、カメラ9に設定された三次元座標系であるカメラ座標系での各位置を、ロボット10の制御の基準となるロボット座標系100での位置に変換する処理である。この場合、ロボット10の対向部材60が、溝部41に3点接触している場合のロボット座標に基づいてカメラ座標系をキャリブレーションすればよい。
 なお、カメラ座標系とロボット座標系のキャリブレーションを行なう場合、作業点200の情報は、ロボット10に予め記憶されている必要は無く、カメラ9によって、対象物50の位置を認識して、カメラ9の認識に基づいてロボット10を作業位置まで移動させてもよい。
 上記のキャリブレーションの一例では、溝部41の内面42に対する先端部65の一点接触が特定されているが、当該一点接触は特定されなくてもよい。この場合、キャリブレーションが開始されるとき、作業者によって、あるいはロボット制御部20のロボット10の制御によって、先端部65が、溝部41の内面42の底に配置されて内面42に二点接触するか、当該底の近くに配置される。キャリブレーションでは、ロボット制御部20は、センサ18が出力する力検出情報に基づいて、先端部65が溝部41の内面42に二点接触するか否かを特定する。ロボット制御部20は、先端部65が溝部41の内面42に二点接触していない場合、力検出情報を確認しながら先端部65を載置部材40の下方向に移動させて、先端部65を溝部41の内面42に二点接触させる。以後、処理装置1は同様に動作する。
 また、上記の例では、載置部材40を載置面の姿勢等の特定に使用している例を記載しているが、載置部材40は、ロボット制御点またはツールセンターポイントの設定またはキャリブレーションに使用してもよい。すなわち、ロボット10の対向部材60の先端部65とエンドエフェクタ15の先端部との相対位置関係が固定されている場合、対向部材60の先端部65が載置部材40に3点接触した位置に基づいて、ロボット制御点またはツールセンターポイントの設定をしてもよい。また、対向部材60の先端部65を載置部材40に3点接触した後、アームの姿勢を変更しつつ3点接触を維持するようにアームの制御値を補正することによって、ロボット制御点またはツールセンターポイントのキャリブレーションを行なうこともできる。なお、ロボット制御点またはツールセンターポイントとは、ロボットを動作させるときの制御の基準点として扱う点であり、例えば、ロボット10が対象物50を把持した際に、その対象物50が位置する点に設定される。
 また、先端部65の形状は上記の例に限られない。例えば、先端部65は多面体であってもよい。図22は多面体の先端部65の一例を示す概略図である。図22に示される先端部65(先端部65Aともいう)の形状は多角柱である。具体的には、先端部65Aの形状は、高さの低い三角柱である。先端部65Aが構成する三角柱は、載置部材40の溝部41の内面42の形状に応じた形状を成しており、溝部41の内側に入ることが可能である。先端部65Aは、溝部41内を溝部41の長手方向に沿って移動することが可能である。
 先端部65Aが構成する三角柱は、3つの側面65a,65b,66cと、一対の底面65dとを備える。側面65aには、対向部材60の棒状部61の一端が繋がる。先端部65が溝部41の内側に入れられると、側面65b及び65cが溝部41の一対の対向面43にそれぞれ接触する。このとき、側面65b及び65cのそれぞれは、対向面43に面接触する。図22には、側面65b及び65cが溝部41の一対の対向面43にそれぞれ接触している様子の一例が示されている。先端部65Aが溝部41内を移動して溝部41の壁面44まで移動すると、一対の底面65dの一方が壁面44と接触する。このとき、底面65dは壁面44と面接触する。
 先端部65Aを備える対向部材60が使用されて1個使用キャリブレーションが実行される場合、作業者は、エンドエフェクタ15を手に掴んで動かして、先端部65Aの側面65b及び65cを、溝部41の一対の対向面43にそれぞれ接触させるか、側面65b及び65cを一対の対向面43の近くに配置する。あるいは、マーク500が付された載置部材40Dが使用される場合、ロボット制御部20は、先端部65Aの側面65b及び65cが、溝部41の一対の対向面43にそれぞれ接触するか、側面65b及び65cが一対の対向面43の近くに位置するように、ロボット10の動きを制御する。
 ロボット制御部20は、センサ18が出力する力検出情報に基づいて、先端部65Aの側面65b及び65cが、溝部41の一対の対向面43にそれぞれ接触しているか否かを特定する。ロボット制御部20は、先端部65Aの側面65b及び65cが溝部41の一対の対向面43に接触していない場合、力検出情報を確認しながら先端部65Aを載置部材40の下方向に移動させて、側面65b及び65cを一対の対向面43にそれぞれ接触させる。
 ロボット制御部20は、側面65b及び65cが一対の対向面43にそれぞれ接触している場合、そのときの先端部65Aの位置情報を第1接触位置情報として取得する。その後、ロボット制御部20は、力検出情報を確認しながら、先端部65Aを溝部41の壁面44まで移動させて、先端部65Aの一方の底面65dを壁面44に接触させる。これにより、先端部65Aの側面65b及び65cが一対の対向面43にそれぞれ接触し、かつ先端部65Aの一方の底面65dが壁面44に接触する。ロボット制御部20は、先端部65Aの側面65b及び65cが一対の対向面43にそれぞれ接触し、かつ先端部65Aの一方の底面65dが壁面44に接触している場合、そのときの先端部65Aの位置情報を第2接触位置情報として取得する。
 ロボット制御部20は、上記と同様にして、取得した第1接触位置情報及び第2接触位置情報に基づいて対象載置面35の姿勢を特定する。そして、ロボット制御部20は、対象載置面35の特定姿勢と取得第2接触位置情報とに基づいて基準作業点位置情報を補正して、対象作業点位置情報を求める。
 なお、先端部65Aを備える対向部材60が使用されて2個使用キャリブレーションが実行される場合でも、同様に、ロボット制御部20は、上記のようにして先端部65Aが使用されて取得された、一方の載置部材40の第2接触位置情報と、先端部65Aが使用されて取得された、他方の載置部材40の第2接触位置情報とに基づいて、対象載置面35の姿勢を特定する。そして、ロボット制御部20は、対象載置面35の特定姿勢と第2接触位置情報とに基づいて基準作業点位置情報を補正して、対象作業点位置情報を求める。
 作業台30の位置は基準位置からすれるものの、作業台30の姿勢は基準姿勢からほとんどずれない場合、ロボット制御部20は第1接触位置情報を取得しなくもてよい。この場合、ロボット制御部20は、基準作業点座標を取得第2接触位置情報に基づいてオフセットした上記のオフセット位置座標を、対象作業点座標としてもよい。このように、作業台30の位置は基準位置からすれるものの、作業台30の姿勢は基準姿勢からほとんどずれない場合には、ロボット制御部20は、載置部材40の所定の接触位置での対向部材60の位置情報に基づいてロボット10の動きを制御することも可能である。
 また、作業台30の姿勢は基準姿勢からずれるものの、作業台30の位置は基準位置からほとんどずれない場合、ロボット制御部20は、基準作業点座標に対して第1回転行列あるいは第2回転行列を掛け合わせて得られる位置座標を、対象作業点座標としてもよい。
 また、作業台30の位置は基準位置からすれるものの、作業台30の姿勢は基準姿勢からほとんどずれない場合、載置部材40の凹部41は溝部以外であってもよい。図23及び24は、この場合の載置部材40の一例を示す概略図である。
 図23及び24に示される載置部材40(載置部材40Fともいう)が備える凹部41(凹部41Fともいう)は、載置部材40Fの上面40aだけではなく底面40bに向けて開口している。凹部41Fの内面42(内面42Fともいう)は、例えば、上面40aから底面40bに向かうほど径が小さくなる円錐台状となっている。図24には、凹部41Fの深さ方向に沿った載置部材40の断面形状が示されている。キャリブレーションでは、球体あるいは半球の丸い先端部65が凹部41Fに入れられる。先端部65は凹部41Fの内面42Fと線接触する。図24には、先端部65が凹部41Fの内面42Fと線接触する様子の一例が示されている。
 載置部材40Fが使用されて1個キャリブレーションが実行される場合、作業者は、エンドエフェクタ15を手に掴んで動かして、先端部65を凹部41Fの内面42Fに接触させるか、内面42Fの近くに配置する。あるいは、載置部材40Fの上面40aにマーク500が付される場合、ロボット制御部20は、先端部65が凹部41Fの内面42Fに触するか、内面42Fの近くに位置するように、ロボット10の動きを制御する。
 ロボット制御部20は、力検出情報に基づいて、先端部65が凹部41Fの内面42Fに線接触するか否かを特定する。ロボット制御部20は、先端部65が内面42Fに線接触していない場合、力検出情報を確認しながら先端部65を動かして、先端部65を内面42Fに線接触させる。ロボット制御部20は、先端部65が内面42Fに線接触する場合、そのときの先端部62の位置情報を第3接触位置情報として取得する。ロボット制御部20は、取得した第3接触位置情報を第2接触位置情報の代わりに使用して、基準作業点座標をオフセットしたオフセット位置座標を求める。そして、ロボット制御部20は、求めたオフセット位置座標を対象作業点座標とする。
 図25及び26は、作業台30の位置は基準位置からずれるものの、作業台30の姿勢は基準姿勢からほとんどずれない場合に使用される載置部材40の他の例を示す概略図である。図25及び25に示され載置部材40(載置部材40Hともいう)が使用される場合、図26に示される先端部65(先端部65Hともいう)が使用される。先端部65Hは、載置部材40Hの凹部41(凹部41Hともいう)の内側に嵌合する。図26には、凹部41Hの内側に先端部65Hが嵌合している様子が示されている。
 先端部65Hの形状は、高さの低い三角柱を成している。先端部65Hが構成する三角柱は、3つの側面65pと、一対の底面65q及び65rとを備える。一方の底面65qには、対向部材60の棒状部61の一端が繋がる。先端部65Hが凹部41Hの内側に嵌合した状態では、他方の底面65rと2つの側面42bとが、凹部41Hの内面42(内面42Hともいう)に接触する。
 凹部41Hは、載置部材40Hの上面40a及び側面に向かって開口する。凹部41Hの内面42Hは、先端部65Hの底面65rと接触する底面42aと、先端部65Hの2つの側面65pがそれぞれ接触する2つの側面42bとを備える。先端部65Hの底面65rは内面42Hの底面42aと面接触する。先端部65Hの2つの側面65pは、内面42Hの2つの側面42bとそれぞれ面接触する。
 載置部材40H及び先端部65Hが使用されて1個キャリブレーションが実行される場合、作業者は、エンドエフェクタ15を手に掴んで動かして、先端部65Hの底面65r及び2つの側面65pを、凹部41Hの底面42a及び2つの側面42bにそれぞれ接触させる。または、作業者は、先端部65Hの底面65r及び2つの側面65pをそれぞれ凹部41Hの底面42a及び2つの側面42bの近くに配置する。載置部材40Hの上面40aにマーク500が付される場合、ロボット制御部20は、先端部65Hの底面65r及び2つの側面65pが、凹部41Hの底面42a及び2つの側面42bにそれぞれ接触するようにロボット10の動きを制御する。または、ロボット制御部20は、先端部65Hの底面65r及び2つの側面65pがそれぞれ凹部41Hの底面42a及び2つの側面42bの近くに配置されるようにロボット10の動きを制御する。
 ロボット制御部20は、力検出情報に基づいて、先端部65Hの底面65r及び2つの側面65pが、凹部41Hの底面42a及び2つの側面42bにそれぞれ接触するか否かを特定する。ロボット制御部20は、先端部65Hの底面65r及び2つの側面65pが凹部41Hの底面42a及び2つの側面42bに接触していない場合、力検出情報を確認しながら先端部65Hを動かして、先端部65Hの底面65r及び2つの側面65pを、凹部41Hの底面42a及び2つの側面42bにそれぞれ接触させる。ロボット制御部20は、先端部65Hの底面65r及び2つの側面65pが、凹部41Hの底面42a及び2つの側面42bにそれぞれ接触する場合、そのときの先端部65の位置情報を第4接触位置情報として取得する。ロボット制御部20は、取得した第4接触位置情報を第2接触位置情報の代わりに使用して、基準作業点座標をオフセットしたオフセット位置座標を求める。そして、ロボット制御部20は、求めたオフセット位置座標を対象作業点座標とする。
 なお、特定部25は、先端部65Hが凹部41Hの内側に嵌合して内面42Hに接触しているときの先端部65Hに関する情報に基づいて載置面35の姿勢を特定することも可能である。先端部65Hが凹部41Hの内側に嵌合して内面42Hに接触しているときの先端部65Hに関する情報は、接触対向部材情報であるともいえる。以下にこの場合の載置面35の姿勢の特定方法について説明する。
 例えば、底面65q及び65rのいずれか一方に対して、第1固定点と第2固定点とが設定される。底面65q及び65rは、載置面35と平行であることから、第1固定点と第2固定点とを結ぶ線は、上述の第1接触位置と第2接触位置とを結ぶ線と同様に、対象載置面35と平行となる。記憶部3には、基準位置姿勢の載置面35上の載置部材40Hの凹部41Hに先端部65Hが嵌合しているときの第1固定点の位置座標及び第2固定点の位置座標が、それぞれ基準第1固定点座標及び基準第2固定点座標として記憶されている。例えば、第1固定点は、三角形の底面65q又は65rの頂点に設定されてもよい。また、第2固定点は、底面65q又は65rの中央部に設定されてもよいし、先端部65Hと棒状部61との交差部に設定されてもよい。
 キャリブレーションにおいて、特定部25は、対象載置面35上の対象載置部材40Hの凹部41Hに先端部65Hが嵌合したとき、そのときの第1固定点の位置座標及び第2固定点の位置座標を取得する。この取得された第1固定点の位置座標及び第2固定点の位置座標を、それぞれ取得第1固定点座標及び取得第2固定点座標と呼ぶ。取得第1固定点座標及び取得第2固定点座標は、先端部65Hが凹部41Hの内側に嵌合して内面42Hに接触しているときの先端部65Hに関する情報であるといえ、接触対向部材情報であるともいえる。
 特定部25は、基準第1接触位置座標、基準第2接触位置座標、取得第1接触位置座標及び取得第2接触位置座標の代わりに、基準第1固定点座標、基準第2固定点座標、取得第1固定点座標及び取得第2固定点座標をそれぞれ使用して、対象載置面35の姿勢を特定する。具体的には、特定部25は、基準第2固定点座標から基準第1固定点座標までの第1ベクトル(ベクトルV1に相当)と、取得第2固定点座標から取得第1固定点座標までの第2ベクトル(ベクトルV2に相当)とを求める。次に、特定部25は、第1ベクトルの始点を第2ベクトルの始点に一致させ、その後、第1ベクトルと第2ベクトルとが成す角度を求める。次に、特定部25は、第2ベクトルの始点を中心として第1ベクトルを、求めた角度だけ回転移動させて第2ベクトルと重ねるための第3回転行列を求める。第3回転行列は、対象載置面35の三次元位置姿勢を表している。特定部25は、基準第1固定点座標、基準第2固定点座標、取得第1固定点座標及び取得第2固定点座標に基づいて第3回転行列を求めることによって、対象載置部材40の三次元姿勢を特定するともいえる。
 特定部25で第3回転行列が求められると、ロボット制御部20は、取得第2接触位置座標及び基準第2接触位置座標の代わりに、取得第2固定点座標及び基準第2固定点座標を用いて、基準作業点座標をオフセットしたオフセット位置座標を求める。そして、ロボット制御部20は、オフセット位置座標に対して第3回転行列を掛け合わせて得られる位置座標を、対象作業点座標とする。
 このように、対向部材60の先端部65の形状によっては、凹部41の内面42の複数の接触位置での先端部65の位置情報を取得することなく、対象載置面35の姿勢を特定することが可能である。
 なお、上記の例では、特定部25は、対象載置面35の三次元姿勢を特定しているが、特定部25は、少なくとも対象載置面35の上から見た姿勢を特定してもよい。例えば、1個使用キャリブレーションにおいて、対象載置面35の上から見た姿勢が特定される場合を考える。この場合、特定部25は、上述の図16の下側と同様に、ベクトルV1の始点をベクトルV2の始点に一致させる。次に、特定部25は、図27に示されるように、ベクトルV1の始点をベクトルV2の始点に一致させた後のベクトルV1の終点の位置座標A1aと取得第2接触位置座標P2とを含み、かつロボット座標系100のXY平面に平行な特定面900を考える。なお、特定面900は、例えば基準載置面35のXY成分で構成される平面として扱う。特定面900は、例えばZ軸または重量方向に垂直に交わる平面として基準載置面35を投影した面として扱ってもよい。
 次に、特定部25は、ベクトルV2の取得第1接触位置座標A2を特定面900に投影させた位置座標A2xを求める。位置座標A2xは、取得第1接触位置座標A2から特定面900に下ろした垂線の足の位置座標である。取得第2接触位置座標P2から位置座標A2xまでのベクトルをベクトルV2xと呼ぶ。ベクトルV2xは、ベクトルV2を特定面900に投影させたベクトルであるといえる。
 次に、特定部25は、取得第2接触位置座標P2を中心としてベクトルV1を角度θ11だけ回転移動させてベクトルV2xと重ねるための第4回転行列を求める。第4回転行列は、対象載置面35の上から見た姿勢を表している。本例では、第4回転行列は、ロボット座標系100のZ軸のプラス側から対象載置面35を見た場合の対象載置面35の姿勢を表している。第4回転行列は、上から見た場合の基準載置面35に対する対象載置面35の相対的な姿勢を表している。特定部25は、第4回転行列を求めることによって、対象載置面35の上から見た姿勢を特定する。第4回転行列は特定面900の平面内での回転を表している。特定部25は、第4回転行列を求めることによって、上から見た場合の対象載置面35の基準姿勢からの回転を特定するともいえる。
 特定部25が第4回転行列を求めると、ロボット制御部20は、上記と同様にして、例えば、基準作業点座標I1をオフセットしたオフセット位置座標を求める。そして、ロボット制御部20は、オフセット位置座標に対して第4回転行列を掛け合わせて得られる位置座標を、対象作業点座標I2とする。
 このように、特定部25で特定された、対象載置面35の上から見た姿勢に基づいて、基準作業点位置情報が補正されて対象作業点位置情報が求められる場合であっても、ある程度の精度で対象作業点位置情報を求めることができる。
 2個使用キャリブレーションにおいても、同様にして、特定部25は、対象載置面35の上から見た姿勢を特定することができる。特定部25は、上述の図19の下側と同様に、ベクトルV11の始点をベクトルV12の始点に一致させる。次に、特定部25は、図28に示されるように、ベクトルV11の始点をベクトルV12の始点に一致させた後のベクトルV11の終点の位置座標P12aと取得第2接触位置座標P21とを含み、かつロボット座標系100のXY平面に平行な特定面950を考える。次に、特定部25は、ベクトルV12の取得第2接触位置座標P22を特定面950に投影させた位置座標P22xを求める。位置座標P22xは、取得第2接触位置座標P22から特定面950に下ろした垂線の足の位置座標である。取得第2接触位置座標P21から位置座標P22xまでのベクトルをベクトルV12xと呼ぶ。なお、特定面950は、例えば特定面900と同様である。
 次に、特定部25は、取得第2接触位置座標P21を中心としてベクトルV11を角度θ22だけ回転移動させてベクトルV12xと重ねるための第5回転行列を求める。第5回転行列は、第4回転行列と同様に、対象載置面35の上から見た姿勢を表している。本例では、第5回転行列は、ロボット座標系100のZ軸のプラス側から対象載置面35を見た場合の対象載置面35の姿勢を表している。特定部25は、第5回転行列を求めることによって、対象載置面35の上から見た姿勢を特定する。
 特定部25が第5回転行列を求めると、ロボット制御部20は、上記と同様にして、基準作業点座標I11をオフセットしたオフセット位置座標を求める。そして、ロボット制御部20は、オフセット位置座標に対して第5回転行列を掛け合わせて得られる位置座標を、対象作業点座標I12とする。
 以上のように、処理装置及び載置部材は詳細に説明されたが、上記した説明は、全ての局面において例示であって、この開示がそれに限定されるものではない。また、上述した各種例は、相互に矛盾しない限り組み合わせて適用可能である。そして、例示されていない無数の例が、この開示の範囲から外れることなく想定され得るものと解される。
 本開示には以下の内容が含まれる。
 一実施形態において、(1)処理装置は、ロボットについての固定されていない作業台の作業対象物の載置面に少なくとも一つの載置部材が配されており、前記少なくとも一つの載置部材に前記ロボットの対向部材が接触しているときの対向部材情報を取得する取得部と、前記対向部材情報に基づいて、前記載置面の上から見た姿勢または前記載置面の三次元の姿勢を特定する特定部と、前記特定部で特定された前記姿勢に基づいて、前記ロボットの動きを制御するロボット制御部とを備える。
 (2)上記(1)の処理装置において、前記少なくとも一つの載置部材は第1載置部材を有し、前記対向部材情報は、前記第1載置部材の第1接触位置での前記対向部材の第1位置情報と、前記第1載置部材における前記第1接触位置から前記載置面に沿って離れた第2接触位置での前記対向部材の第2位置情報とを含み、前記特定部は、前記第1位置情報及び前記第2位置情報に基づいて、前記姿勢を特定する。
 (3)上記(2)の処理装置において、前記第1載置部材は、前記載置面に沿って平行に延びる溝部を有し、前記第1接触位置は、前記溝部の内面に位置し、前記第2接触位置は、前記溝部の前記内面において、前記第1接触位置から前記溝部の長手方向に沿って離れて位置する。
 (4)上記(3)の処理装置において、前記溝部の前記内面は、前記溝部の前記長手方向の一方端に位置する壁面を含み、前記第2接触位置は、前記壁面に対する前記対向部材の接触位置である。
 (5)上記(1)の処理装置において、前記少なくとも一つの載置部材は第1載置部材を有し、前記対向部材情報は、前記第1載置部材の所定の接触位置での前記対向部材の位置情報を含み、前記ロボット制御部は、前記位置情報に基づいて前記ロボットの動きを制御する。
 (6)上記(5)の処理装置において、前記第1載置部材は、前記載置面に沿って平行に延びるとともに長手方向の一方端に位置した壁面を有する溝部を有し、前記所定の接触位置は、前記壁面に前記対向部材が接触する位置である。
 (7)上記(1)の処理装置において、前記少なくとも一つの載置部材は、第1載置部材と、前記第1載置部材と離れて位置する第2載置部材とを有し、前記対向部材情報は、前記第1載置部材の第1接触位置での前記対向部材の第1位置情報と、前記第2載置部材の第2接触位置での前記対向部材の第2位置情報とを含み、前記特定部は、前記第1位置情報及び前記第2位置情報に基づいて、前記姿勢を特定する。
 (8)載置部材は、ロボットの作業対象物の載置面に配される載置部材であって、前記ロボットに配された部材の先端部が入る溝部を備え、前記溝部の内面は、それぞれが前記先端部と点接触する複数の面を有する。
 (9)上記(8)の載置部材において、前記複数の面は、互いに対向する複数の対向面を有し、前記複数の対向面は、上方に向かって外側に傾斜する傾斜面を含む。
 (10)上記(9)の載置部材において、前記複数の面は、前記溝部の長手方向の一方端に位置する壁面を有する。
 (11)上記(10)の載置部材において、前記溝部の前記長手方向の他方端は開口している。
 (12)処理装置は、上記(10)または(11)の載置部材の前記溝部内において前記部材の前記先端部が移動するように前記ロボットを制御するロボット制御部を備え、前記ロボット制御部は、前記先端部にかかる力を検出するセンサでの検出結果に基づいて、前記溝部の前記内面に対する前記先端部の接触状態を特定し、特定した前記接触状態に基づいて、前記先端部が前記溝部内を前記壁面まで移動するように前記ロボットを制御する。
 (13)上記(12)の処理装置において、前記ロボット制御部は、前記先端部が前記内面に対して二点接触すると、前記先端部が前記溝部の前記内面の前記壁面に向かって移動するように前記ロボットを制御し、前記先端部が前記内面に対して三点接触すると、前記先端部の移動を前記ロボットに停止させる。
 (14)上記(13)の処理装置において、前記ロボット制御部は、前記先端部が前記内面に対して一点接触すると、前記先端部が前記溝部の前記内面の底に向かって移動するように前記ロボットを制御する。
 (15)プログラムは、コンピュータ装置を、上記(1)から(7)及び(12)から(14)のいずれか一つの処理装置として機能させるためのプログラムである。
 1 処理装置
 3a プログラム
 20 ロボット制御部
 25 特定部
 35 載置面
 40,40A,40B,40D,40F,40H 載置部材
 50 作業対象物
 60 載置部材
 65,65A,65H 先端部
 41 凹部(溝部)
 41F,41H 凹部
 42,42F,42H 内面
 43,43a,43b 対向面
 44 壁面

Claims (15)

  1.  ロボットについての固定されていない作業台の作業対象物の載置面に少なくとも一つの載置部材が配されており、前記少なくとも一つの載置部材に前記ロボットの対向部材が接触しているときの対向部材情報を取得する取得部と、
     前記対向部材情報に基づいて、前記載置面の上から見た姿勢または前記載置面の三次元の姿勢を特定する特定部と、
     前記特定部で特定された前記姿勢に基づいて、前記ロボットの動きを制御するロボット制御部と
    を備える、処理装置。
  2.  請求項1に記載の処理装置であって、
     前記少なくとも一つの載置部材は第1載置部材を有し、
     前記対向部材情報は、前記第1載置部材の第1接触位置での前記対向部材の第1位置情報と、前記第1載置部材における前記第1接触位置から前記載置面に沿って離れた第2接触位置での前記対向部材の第2位置情報とを含み、
     前記特定部は、前記第1位置情報及び前記第2位置情報に基づいて、前記姿勢を特定する、処理装置。
  3.  請求項2に記載の処理装置であって、
     前記第1載置部材は、前記載置面に沿って平行に延びる溝部を有し、
     前記第1接触位置は、前記溝部の内面に位置し、
     前記第2接触位置は、前記溝部の前記内面において、前記第1接触位置から前記溝部の長手方向に沿って離れて位置する、処理装置。
  4.  請求項3に記載の処理装置であって、
     前記溝部の前記内面は、前記溝部の前記長手方向の一方端に位置する壁面を含み、
     前記第2接触位置は、前記壁面に対する前記対向部材の接触位置である、処理装置。
  5.  請求項1に記載の処理装置であって、
     前記少なくとも一つの載置部材は第1載置部材を有し、
     前記対向部材情報は、前記第1載置部材の所定の接触位置での前記対向部材の位置情報を含み、
     前記ロボット制御部は、前記位置情報に基づいて前記ロボットの動きを制御する、処理装置。
  6.  請求項5に記載の処理装置であって、
     前記第1載置部材は、前記載置面に沿って平行に延びるとともに長手方向の一方端に位置した壁面を有する溝部を有し、
     前記所定の接触位置は、前記壁面に前記対向部材が接触する位置である、処理装置。
  7.  請求項1に記載の処理装置であって、
     前記少なくとも一つの載置部材は、第1載置部材と、前記第1載置部材と離れて位置する第2載置部材とを有し、
     前記対向部材情報は、前記第1載置部材の第1接触位置での前記対向部材の第1位置情報と、前記第2載置部材の第2接触位置での前記対向部材の第2位置情報とを含み、
     前記特定部は、前記第1位置情報及び前記第2位置情報に基づいて、前記姿勢を特定する、処理装置。
  8.  ロボットの作業対象物の載置面に配される載置部材であって、
     前記ロボットに配された部材の先端部が入る溝部を備え、
     前記溝部の内面は、それぞれが前記先端部と点接触する複数の面を有する、載置部材。
  9.  請求項8に記載の載置部材であって、
     前記複数の面は、互いに対向する複数の対向面を有し、
     前記複数の対向面は、上方に向かって外側に傾斜する傾斜面を含む、載置部材。
  10.  請求項9に記載の載置部材であって、
     前記複数の面は、前記溝部の長手方向の一方端に位置する壁面を有する、載置部材。
  11.  請求項10に記載の載置部材であって、
     前記溝部の前記長手方向の他方端は開口している、載置部材。
  12.  請求項10または請求項11に記載の載置部材の前記溝部内において前記部材の前記先端部が移動するように前記ロボットを制御するロボット制御部を備え、
     前記ロボット制御部は、
      前記先端部にかかる力を検出するセンサでの検出結果に基づいて、前記溝部の前記内面に対する前記先端部の接触状態を特定し、
      特定した前記接触状態に基づいて、前記先端部が前記溝部内を前記壁面まで移動するように前記ロボットを制御する、処理装置。
  13.  請求項12に記載の処理装置であって、
     前記ロボット制御部は、
      前記先端部が前記内面に対して二点接触すると、前記先端部が前記溝部の前記内面の前記壁面に向かって移動するように前記ロボットを制御し、
      前記先端部が前記内面に対して三点接触すると、前記先端部の移動を前記ロボットに停止させる、処理装置。
  14.  請求項13に記載の処理装置であって、
     前記ロボット制御部は、前記先端部が前記内面に対して一点接触すると、前記先端部が前記溝部の前記内面の底に向かって移動するように前記ロボットを制御する、処理装置。
  15.  コンピュータ装置を、請求項1から請求項7及び請求項12から請求項14のいずれか一つに記載の処理装置として機能させるためのプログラム。
PCT/JP2024/010085 2023-03-15 2024-03-14 処理装置、載置部材及びプログラム Ceased WO2024190883A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2025507158A JPWO2024190883A1 (ja) 2023-03-15 2024-03-14

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2023040659 2023-03-15
JP2023-040659 2023-03-15

Publications (1)

Publication Number Publication Date
WO2024190883A1 true WO2024190883A1 (ja) 2024-09-19

Family

ID=92755310

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2024/010085 Ceased WO2024190883A1 (ja) 2023-03-15 2024-03-14 処理装置、載置部材及びプログラム

Country Status (2)

Country Link
JP (1) JPWO2024190883A1 (ja)
WO (1) WO2024190883A1 (ja)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5329092A (en) * 1991-11-27 1994-07-12 Deere & Company Welding torch alignment monitor
WO1998032571A1 (en) * 1997-01-29 1998-07-30 Kabushiki Kaisha Yaskawa Denki Device and method for calibrating robot
JP2001038662A (ja) * 1999-08-04 2001-02-13 Honda Motor Co Ltd 作業ロボットの校正方法
JP2006297559A (ja) * 2005-04-22 2006-11-02 Yaskawa Electric Corp キャリブレーションシステムおよびロボットのキャリブレーション方法
JP2011011326A (ja) * 2009-07-06 2011-01-20 Ihi Corp ロボットのツール位置較正治具と方法
US20110046782A1 (en) * 2008-04-30 2011-02-24 Abb Technology Ab A method and system for determining the relation between a robot coordinate system and a local coordinate system located in the working range of the robot
JP2011067889A (ja) * 2009-09-25 2011-04-07 Ihi Corp キャリブレーション装置及びキャリブレーション方法
JP2019042837A (ja) * 2017-08-31 2019-03-22 セイコーエプソン株式会社 ロボット、ロボット制御装置、ロボットシステム、及びロボット制御方法
CN115338870A (zh) * 2022-09-14 2022-11-15 苏州瀚华智造智能技术有限公司 一种面向简单几何特征的机器人装夹标定方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5329092A (en) * 1991-11-27 1994-07-12 Deere & Company Welding torch alignment monitor
WO1998032571A1 (en) * 1997-01-29 1998-07-30 Kabushiki Kaisha Yaskawa Denki Device and method for calibrating robot
JP2001038662A (ja) * 1999-08-04 2001-02-13 Honda Motor Co Ltd 作業ロボットの校正方法
JP2006297559A (ja) * 2005-04-22 2006-11-02 Yaskawa Electric Corp キャリブレーションシステムおよびロボットのキャリブレーション方法
US20110046782A1 (en) * 2008-04-30 2011-02-24 Abb Technology Ab A method and system for determining the relation between a robot coordinate system and a local coordinate system located in the working range of the robot
JP2011011326A (ja) * 2009-07-06 2011-01-20 Ihi Corp ロボットのツール位置較正治具と方法
JP2011067889A (ja) * 2009-09-25 2011-04-07 Ihi Corp キャリブレーション装置及びキャリブレーション方法
JP2019042837A (ja) * 2017-08-31 2019-03-22 セイコーエプソン株式会社 ロボット、ロボット制御装置、ロボットシステム、及びロボット制御方法
CN115338870A (zh) * 2022-09-14 2022-11-15 苏州瀚华智造智能技术有限公司 一种面向简单几何特征的机器人装夹标定方法

Also Published As

Publication number Publication date
JPWO2024190883A1 (ja) 2024-09-19

Similar Documents

Publication Publication Date Title
US11254008B2 (en) Method and device of controlling robot system
JP6966582B2 (ja) ロボットモーション用のビジョンシステムの自動ハンドアイ校正のためのシステム及び方法
CN108453701B (zh) 控制机器人的方法、示教机器人的方法和机器人系统
US9517563B2 (en) Robot system using visual feedback
CN107428009B (zh) 用于工业机器人调试的方法、使用该方法的工业机器人系统和控制系统
US10434655B2 (en) Robot apparatus and method for controlling robot apparatus
US9519736B2 (en) Data generation device for vision sensor and detection simulation system
US12290945B2 (en) Robot device controller for controlling position of robot
US20240139935A1 (en) Robotic arm calibration method
CN106003021A (zh) 机器人、机器人控制装置以及机器人系统
JP4794011B2 (ja) 画像処理装置、およびロボット制御システム
JP6885856B2 (ja) ロボットシステムおよびキャリブレーション方法
JP2020138292A (ja) ロボットシステムおよび制御方法
JP2020138293A (ja) ロボットシステムおよび制御方法
JP2021024075A (ja) ロボットの位置を制御するロボット装置の制御装置
WO2024190883A1 (ja) 処理装置、載置部材及びプログラム
US20240246237A1 (en) Robot control device, robot control system, and robot control method
JP7583942B2 (ja) ロボット制御装置、ロボット制御システム、及びロボット制御方法
JP2016203282A (ja) エンドエフェクタの姿勢変更機構を備えたロボット
CN118510633A (zh) 具备三维传感器的机器人装置以及机器人装置的控制方法
US20250001594A1 (en) Robot control device, robot control system, and robot control method
JP2022164308A (ja) システム、製造方法、制御方法、プログラム、媒体
JP2024101194A (ja) ロボット制御装置及び搬送ロボットシステム
WO2022202655A1 (ja) 3次元測定システム

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2025507158

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2025507158

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 24770986

Country of ref document: EP

Kind code of ref document: A1