WO2023013699A1 - ロボット制御装置、ロボット制御システム、及びロボット制御方法 - Google Patents

ロボット制御装置、ロボット制御システム、及びロボット制御方法 Download PDF

Info

Publication number
WO2023013699A1
WO2023013699A1 PCT/JP2022/029853 JP2022029853W WO2023013699A1 WO 2023013699 A1 WO2023013699 A1 WO 2023013699A1 JP 2022029853 W JP2022029853 W JP 2022029853W WO 2023013699 A1 WO2023013699 A1 WO 2023013699A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
control unit
measurement object
finger
end effector
Prior art date
Application number
PCT/JP2022/029853
Other languages
English (en)
French (fr)
Inventor
真洋 内竹
フィデリア グラシア
雅人 森
敬之 石田
博昭 宮村
Original Assignee
京セラ株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 京セラ株式会社 filed Critical 京セラ株式会社
Priority to CN202280053851.5A priority Critical patent/CN117769482A/zh
Priority to EP22853117.4A priority patent/EP4382259A1/en
Priority to JP2023540395A priority patent/JPWO2023013699A1/ja
Publication of WO2023013699A1 publication Critical patent/WO2023013699A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/10Programme-controlled manipulators characterised by positioning means for manipulator elements
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices

Definitions

  • the present disclosure relates to a robot control device, a robot control system, and a robot control method.
  • Patent Document 1 Conventionally, there has been known a robot control device that creates teaching data based on image recognition processing of alignment marks of a work target (see Patent Document 1, for example).
  • a robot control device includes a control unit that controls a robot having sensors and end effectors.
  • the control unit acquires positional information of the end effector with respect to a measurement object placed in the robot's motion space, and corrects a coordinate system relating to the motion of the robot based on the positional information.
  • a robot control system includes the robot control device and the robot.
  • a robot control method controls a robot having sensors and end effectors.
  • the robot control method includes acquiring position information of the end effector with respect to an object to be measured arranged in an operation space of the robot, and correcting a coordinate system related to the operation of the robot based on the position information. including.
  • FIG. 1 is a block diagram showing a configuration example of a robot control system according to an embodiment
  • FIG. 1 is a schematic diagram showing a configuration example of a robot control system according to an embodiment
  • FIG. 4 is a schematic diagram showing a configuration example of an end effector
  • 4 is a flow chart showing an example procedure of a robot control method according to an embodiment
  • FIG. 10 is a schematic diagram showing an operation example of contacting an object to be measured with the outer side of the first finger in a state where the first finger and the second finger are spread apart
  • FIG. 10 is a schematic diagram showing an operation example of contacting the measurement object with the side surface of the first finger in a state in which the first finger and the second finger are spread apart
  • FIG. 10 is a schematic diagram showing an operation example of contacting the measurement object with the side surface of the first finger in a state in which the first finger and the second finger are spread apart
  • FIG. 10 is a schematic diagram showing an operation example of contacting the measurement object with the side surface of the first finger in a
  • FIG. 10 is a schematic diagram showing an operation example of contacting the measurement object with the tip of the first finger in a state where the first finger and the second finger are spread apart;
  • FIG. 10 is a schematic diagram showing an operation example of contacting an object to be measured with the outer side of the first finger in a state where the first finger and the second finger are closed;
  • FIG. 10 is a schematic diagram showing an operation example of contacting the measurement object with the side surface of the first finger or the second finger in a state where the first finger and the second finger are closed;
  • FIG. 10 is a schematic diagram showing an operation example of contacting an object to be measured with the tip of the first finger or the second finger in a state where the first finger and the second finger are closed;
  • FIG. 10 is a schematic diagram showing an operation example of contacting an object to be measured with the tip of the first finger or the second finger in a state where the first finger and the second finger are closed;
  • FIG. 11 is a schematic diagram showing an example of movement in which the first finger or the second finger is in contact with the upper surface of the object to be measured and moves in the X_RB axis direction along the upper surface;
  • FIG. 10 is a schematic diagram showing an operation example in which the first finger or the second finger moves in the Y_RB axis direction along the upper surface while being in contact with the upper surface of the object to be measured;
  • FIG. 10 is a schematic diagram showing an operation example in which the first finger or the second finger is in contact with the upper surface of the measurement object and simultaneously moves in the X_RB axis direction and the Y_RB axis direction along the upper surface;
  • FIG. 10 is a schematic diagram showing an example of an operation in which the first finger and the second finger hold the measurement object and rotate around the measurement object;
  • FIG. 3 is a schematic diagram showing a configuration example of a measurement object having marks;
  • FIG. 4 is a schematic diagram showing a configuration example of a measurement object having a mark and a contact area;
  • FIG. 4 is a schematic diagram showing a configuration example of a measurement object without marks.
  • FIG. 4 is a schematic diagram showing a configuration example of a cylindrical measurement object;
  • FIG. 4 is a schematic diagram showing an example of arranging measurement objects at diagonal positions on the upper surface of the workbench;
  • robot calibration accuracy can be improved.
  • a robot control system 1 includes a robot 40 , a robot control device 10 and a spatial information acquisition section 20 .
  • the robot 40 operates in a predetermined motion space.
  • the space information acquisition unit 20 captures an action space in which the robot 40 operates, and generates depth information of the action space.
  • the spatial information acquisition unit 20 calculates the distance to the measurement point located on the surface of the object 50 existing in the motion space.
  • the distance from the spatial information acquisition unit 20 to the measurement point is also called depth.
  • Depth information is information about the depth measured for each measurement point. In other words, the depth information is information about the distance to the measurement point located on the surface of the object 50 existing in the motion space.
  • the depth information may be expressed as a depth map that associates the direction viewed from the spatial information acquisition unit 20 and the depth in that direction.
  • the spatial information acquisition unit 20 generates depth information of the motion space based on the (X_CA, Y_CA, Z_CA) coordinate system.
  • the space information acquisition unit 20 may generate an image of the motion space. An image obtained by capturing the motion space is also referred to as a motion space image.
  • the robot control device 10 may perform calibration based on an image of the action space captured by the space information acquisition unit 20. Further, the robot control device 10 can correct the coordinate system related to the motion of the robot by detecting the position information of the robot 40 with respect to the measurement object 52 (see FIG. 3, etc.) arranged in the motion space.
  • the coordinate system relating to the motion of the robot is, for example, the coordinate system of the motion space, the coordinate system of the robot 40, or the coordinate system of the spatial information acquisition section 20.
  • the robot control device 10 may detect position information of the robot 40 with respect to the measurement object 52 by detecting various physical quantities such as load or pressure.
  • the robot control device 10 when the robot control device 10 detects a load or pressure, the position of the robot 40 with respect to the measurement object 52 is 0 (zero) or a constant distance. Further, the robot control device 10 may detect the position information of the robot 40 with respect to the measurement object 52 by measuring the distance between the robot 40 and the measurement object 52 . In addition, the robot 40 has a sensor 48 capable of detecting position information with respect to the measurement object 52 .
  • the robot control device 10 operates the robot 40 based on the depth information generated by the spatial information acquisition section 20.
  • the robot controller 10 controls and operates the robot 40 based on the (X_RB, Y_RB, Z_RB) coordinate system.
  • the robot 40 may be installed on the workbench 70, for example.
  • the robot control device 10 may cause the robot 40 to perform work with the object 50 positioned within the motion space of the robot 40 as the work target.
  • the robot control device 10 may recognize the object 50 positioned within the motion space of the robot 40 as an obstacle.
  • the robot control device 10 may perform calibration before causing the robot 40 to perform a task.
  • the robot controller 10 corrects the coordinates of the object 52 to be measured or corrects the coordinate system by bringing the robot 40 into contact with the object 52 to be measured and detecting the load acting on the robot 40 . Corrections may be made.
  • the (X_RB, Y_RB, Z_RB) coordinate system is also called the coordinate system of the robot 40 .
  • the (X_CA, Y_CA, Z_CA) coordinate system is also called the coordinate system of the spatial information acquisition unit 20 .
  • the coordinate system of the robot 40 may be set as the same coordinate system as the coordinate system of the spatial information acquisition unit 20, or may be set as a different coordinate system.
  • the robot control device 10 transfers the depth information generated in the coordinate system of the spatial information acquisition unit 20 to the robot 40. used after conversion to the coordinate system of Note that the coordinate system of the spatial information acquisition unit 20 may be calibrated in advance with the coordinate system of the motion space.
  • the coordinate system of the spatial information acquisition unit 20 is expressed as, for example, a coordinate system (X_CA, Y_CA, Z_CA) by camera calculation. may be calibrated to match the coordinate system (X, Y, Z) indicating It should be noted that prior calibration of the coordinate system of the spatial information acquisition unit 20 may not be performed.
  • the number of robots 40 and robot control devices 10 is not limited to one as illustrated, but may be two or more. As illustrated, the number of spatial information acquisition units 20 may be one for one motion space, or may be two or more. Each component will be specifically described below.
  • the robot control device 10 includes a control section 11 , a storage section 12 and an interface 13 .
  • the interface 13 is also called I/F13.
  • the control unit 11 may include at least one processor to implement various functions of the robot control device 10 .
  • the processor may execute programs that implement various functions of the robot controller 10 .
  • a processor may be implemented as a single integrated circuit.
  • An integrated circuit is also called an IC (Integrated Circuit).
  • a processor may be implemented as a plurality of communicatively coupled integrated and discrete circuits.
  • the processor may be configured including a CPU (Central Processing Unit).
  • the processor may be configured including a DSP (Digital Signal Processor) or a GPU (Graphics Processing Unit). Processors may be implemented based on various other known technologies.
  • the storage unit 12 may be configured including an electromagnetic storage medium such as a magnetic disk, or may be configured including a memory such as a semiconductor memory or a magnetic memory.
  • the storage unit 12 may be configured as an HDD (Hard Disk Drive) or an SSD (Solid State Drive).
  • the storage unit 12 stores various information, programs executed by the control unit 11, and the like.
  • the storage unit 12 may function as a work memory for the control unit 11 .
  • the control unit 11 may include at least part of the storage unit 12 .
  • the I/F 13 acquires an image of the motion space of the robot 40 captured by the space information acquisition unit 20 and outputs the image to the control unit 11 .
  • the I/F 13 acquires information on the robot 40 and outputs it to the control unit 11 .
  • the information on the robot 40 includes information on the sensor 48, which will be described later.
  • the I/F 13 acquires information for controlling the robot 40 from the control unit 11 and outputs the information to the robot 40 .
  • the I/F 13 may include a communication device capable of communicating with the spatial information acquisition unit 20 and the robot 40 by wire or wirelessly.
  • a communication device may be configured to be able to communicate with communication schemes based on various communication standards.
  • a communication device may be configured according to known communication technologies. A detailed description of the hardware of the communication device and the like is omitted.
  • the function of the communication device may be realized by one communication interface, or may be realized by separate communication interfaces for each connection destination.
  • the control unit 11 may be configured to communicate with the spatial information acquisition unit 20 and the robot
  • the robot 40 is equipped with a sensor 48, as illustrated in FIG.
  • the robot 40 also includes an arm 42, an end effector 44 attached to the arm 42, and a mark 46 installed on the end effector 44, as illustrated in FIG.
  • Robot 40 further comprises an interface 49, although this is not essential.
  • the interface 49 is also called I/F49. Note that the mark 46 may be placed on the arm 42 instead of the end effector 44 .
  • the arm 42 may be configured as, for example, a 6-axis or 7-axis vertical articulated robot.
  • the arm 42 may be configured as a 3-axis or 4-axis horizontal articulated robot or SCARA robot.
  • Arm 42 may be configured as a 2-axis or 3-axis Cartesian robot.
  • Arm 42 may be configured as a parallel link robot or the like.
  • the number of axes forming the arm 42 is not limited to the illustrated one.
  • the end effector 44 may include, for example, a gripping hand configured to grip a work object.
  • the grasping hand may have multiple fingers. The number of fingers of the grasping hand may be two or more. The fingers of the grasping hand may have one or more joints.
  • the end effector 44 may include a suction hand configured to be able to suction a work target.
  • the end effector 44 may include a scooping hand configured to scoop the work object.
  • the end effector 44 may include a tool such as a drill, and may be configured to perform various machining operations such as drilling holes in a work object.
  • the end effector 44 is not limited to these examples, and may be configured to perform various other operations. Sensor information may be controlled by end effector 44 or robot 40 .
  • the end effector 44 may comprise a controller 440, as shown in FIG.
  • the robot 40 may include the controller 410 .
  • the controller 440 of the end effector 44 or the controller 410 of the robot 40 may capture the sensor information.
  • the control unit 440 of the end effector 44 or the control unit 410 of the robot 40 may output to the robot control device 10 state information (for example, the amount of displacement or the amount of contact) that can be estimated from the sensor information.
  • the sensor information may be handled by the robot control device 10 side, may be handled by the control section 410 of the robot 40 , or may be handled by the control section 440 of the end effector 44 .
  • the end effector 44 of the robot 40 is configured as a grasping hand, and includes a first finger 441, a second finger 442, and a drive section 443.
  • the number of fingers or suction nozzles provided in the end effector 44 is not limited to two, and may be one or three or more. good.
  • the object to be worked on by the end effector 44 is represented as the measurement object 52 .
  • the end effector 44 is configured to contact the measurement object 52 with at least one finger or a holding portion such as a suction nozzle.
  • the end effector 44 may be configured to hold the measurement object 52 with a holding portion such as three or more fingers or a suction nozzle.
  • the robot 40 can control the position of the end effector 44 by operating the arm 42 .
  • the end effector 44 may have an axis that serves as a reference for the direction in which it acts on the work object. If the end effector 44 has an axis, the robot 40 can control the orientation of the end effector 44 axis by moving the arm 42 .
  • the robot 40 controls the start and end of the motion of the end effector 44 acting on the work piece.
  • the robot 40 can move or process a work object by controlling the position of the end effector 44 or the direction of the axis of the end effector 44 and controlling the motion of the end effector 44 .
  • the sensor 48 detects the state of each component of the robot 40 .
  • Sensors 48 may detect information regarding the actual position or orientation of each component of robot 40 or the velocity or acceleration of each component of robot 40 .
  • the sensors 48 may detect loads acting on each component of the robot 40 .
  • the sensor 48 may detect the current flowing through the motor or the torque of the motor that drives each component of the robot 40 .
  • Sensors 48 can detect information resulting from the actual movement of robot 40 .
  • Sensors 48 may detect the distance between robot 40 and other objects.
  • the sensor 48 includes a force sensor 444 that detects the direction or magnitude of the load acting on the end effector 44 when the end effector 44 contacts the work object. Assume that the force sensor 444 is mounted on the end effector 44 .
  • the force sensor 444 may include, for example, a strain gauge, but is not limited to this.
  • the sensor 48 further includes a tactile sensor 445, although this is not essential. It is assumed that the tactile sensor 445 is mounted on the first finger 441 or the second finger 442 .
  • the tactile sensor 445 may include, for example, a pressure sensor, but is not limited to this.
  • the sensor 48 may further include a distance sensor.
  • a distance sensor may be provided at the tip of the end effector 44, for example. Specifically, the distance sensor may be mounted on the first finger 441 or the second finger 442 .
  • the robot control device 10 recognizes the position of the mark 46 or the position of the end effector 44 on which the mark 46 is installed based on the image of the mark 46 captured by the spatial information acquisition unit 20 . Further, the robot control device 10 recognizes the state of the robot 40 based on the image of the mark 46 captured by the space information acquisition section 20 . The robot control device 10 performs calibration of the robot 40 by comparing the state of the robot 40 obtained based on the detection result of the sensor 48 and the state of the robot 40 obtained based on the image of the mark 46 . can run.
  • the spatial information acquisition unit 20 acquires spatial information regarding the motion space of the robot 40 .
  • the spatial information acquisition unit 20 may photograph the motion space and acquire an image of the motion space as the spatial information. As illustrated in FIG. 2, the spatial information acquisition unit 20 may photograph a working object such as an object 50 or a measuring object 52 that exists in the working space.
  • the spatial information acquisition section 20 may be configured as a camera.
  • the 3D stereo camera photographs an object 50 existing in the motion space, calculates the distance to a measurement point located on the surface of the object 50 existing in the motion space as depth, and generates depth information.
  • the spatial information acquisition section 20 may be configured as a 3D stereo camera.
  • the spatial information acquisition unit 20 may be configured as a LiDAR (light detection and ranging).
  • the spatial information acquisition unit 20 may acquire depth information of the motion space as the spatial information.
  • the spatial information acquisition unit 20 is not limited to these devices and may be configured as various devices.
  • the spatial information acquisition unit 20 may acquire various types of information as the spatial information, without being limited to the image or depth information of the motion space.
  • the spatial information acquisition section 20 may include an imaging device.
  • the spatial information acquisition section 20 may further include an optical system.
  • the space information acquisition unit 20 may output the captured image of the motion space to the robot control device 10 .
  • the space information acquisition unit 20 may generate depth information in the motion space of the robot 40 and output it to the robot control device 10 .
  • the space information acquisition unit 20 may generate point group information in the motion space of the robot 40 and output it to the robot control device 10 . That is, the spatial information may be output in the form of point cloud data. In other words, the point cloud information may have spatial information.
  • the point group information is information on a set of measurement points located on the surface of the object 50 existing in the motion space, and is information including coordinate information or color information on each measurement point.
  • the point group information can also be said to be data representing the object 50 in the measurement space with a plurality of points. Since the spatial information is in the form of point cloud data, the data density can be made smaller than the spatial information based on the initial data acquired by the spatial information acquiring section 20 .
  • the spatial information acquisition unit 20 has an FOV (Field Of View).
  • the FOV corresponds to the imaging range of the spatial information acquisition unit 20.
  • the spatial information acquisition unit 20 can photograph the range included in the FOV.
  • the actual field of view size of the spatial information acquisition section 20 is determined based on the FOV of the spatial information acquisition section 20 and the depth information.
  • the robot control device 10 detects the mark 46 of the robot 40 based on the actual field of view size of the space information acquisition unit 20 and the space information including an image captured by the space information acquisition unit 20 so as to reflect the mark 46 of the robot 40 .
  • the robot control device 10 can calculate the position and orientation of the mark 46 based on the spatial information including the image or the like by analyzing the spatial information including the image or the like of the mark 46 using a predetermined algorithm.
  • a predetermined algorithm may include, for example, a mathematical formula or a table, or may include a program specifying arithmetic processing.
  • the predetermined algorithm may include parameters for correcting calculation results based on spatial information including images and the like.
  • the robot control device 10 operates the robot 40 to act on a work object such as the object 50 or the measurement object 52 existing in the operation space, or controls the robot 40 to avoid the object 50 or the measurement object 52. make it work.
  • the robot control device 10 acts on a work object such as the object 50 or the measurement target 52 based on the photographed image of the object 50 or the measurement target 52 or the like taken by the spatial information acquisition unit 20, or controls the object 50 or the measurement target 52.
  • the robot 40 is operated so as to avoid an object 52 or the like.
  • the control unit 11 of the robot control device 10 acquires the state of the robot 40 based on the position and orientation of the mark 46 captured in the image captured by the space information acquisition unit 20, and determines the state of the robot 40 and the object 50 or measurement object 52. You can get the positional relationship of On the other hand, the controller 11 acquires the state of the robot 40 based on the sensor 48 of the robot 40 .
  • the state based on the sensor 48 of the robot 40 represents the position and orientation of the robot 40 with higher accuracy than the state based on the captured image of the spatial information acquisition unit 20 .
  • control unit 11 matches the state of the robot 40 based on the captured image of the space information acquisition unit 20 with the state of the robot 40 based on the sensor 48 of the robot 40, thereby controlling the robot 40 in the motion space with high accuracy. can.
  • the operation of matching the state of the robot 40 based on the spatial information including the image captured by the spatial information acquisition unit 20 with the state of the robot 40 based on the sensor 48 of the robot 40 is also called first calibration.
  • Control unit 11 executes the first calibration at least once. Specifically, the control unit 11 controls the first coordinate system so that the depth information generated in the (X_CA, Y_CA, Z_CA) coordinate system by the space information acquisition unit 20 matches the (X_RB, Y_RB, Z_RB) coordinate system of the robot 40 .
  • control unit 11 can transform the coordinate system of the spatial information acquisition unit 20 into the coordinate system of the robot 40 by executing the first calibration.
  • the control unit 11 estimates the relative positional relationship between the coordinate system of the spatial information acquiring unit 20 and the coordinate system of the robot 40, and converts the coordinate system of the spatial information acquiring unit 20 to the coordinate system of the robot 40 based on the estimated relative positional relationship. Good to match.
  • the control unit 11 may perform the first calibration with at least part of the FOV of the spatial information acquisition unit 20 as a range.
  • the control unit 11 performs the first calibration within the calibration range 60 shown in FIG.
  • a calibration range 60 is shown as a region surrounded by a two-dot chain line in FIG.
  • a calibration range 60 corresponds to a range in which the first calibration of the robot 40 is performed.
  • Calibration range 60 may include the work area of robot 40 .
  • the calibration range 60 may be the range where the working area of the robot 40 and the FOV overlap.
  • control unit 11 sets a point for executing the first calibration by moving the mark 46 of the robot 40 within the calibration range 60 .
  • the points for performing the first calibration are also referred to as calibration positions.
  • the control unit 11 moves the mark 46 of the robot 40 to the calibration position and causes the spatial information acquisition unit 20 to photograph the mark 46 .
  • the control unit 11 calculates the position and orientation of the mark 46 based on spatial information including an image of the mark 46 and the like.
  • the control unit 11 controls the position and orientation of the mark 46 calculated based on the spatial information including the image etc. to match the position and orientation of the mark 46 determined based on the detection result of the sensor 48 of the robot 40.
  • the position and posture of the mark 46 are corrected based on spatial information including images.
  • Correction of the position and orientation of the mark 46 based on spatial information including an image or the like corresponds to the first calibration.
  • the position and orientation of the mark 46 are also referred to as mark position and orientation.
  • the first calibration corresponds to correction of mark position and orientation.
  • a calibration position corresponds to a position for correcting the mark position and orientation.
  • control unit 11 may perform the first calibration as described below.
  • the control unit 11 generates control information for the robot 40 for moving the mark 46 of the robot 40 to the calibration position.
  • the control unit 11 operates the robot 40 based on the control information to move the mark 46 of the robot 40 to the calibration position.
  • the control unit 11 acquires spatial information including an image of the mark 46 from the spatial information acquiring unit 20 .
  • the control unit 11 calculates the position and orientation of the mark 46 based on spatial information including images and the like.
  • the position and orientation of the mark 46 calculated based on the spatial information including the image etc. are also referred to as the mark position and orientation based on the spatial information including the image etc.
  • the control unit 11 calculates the position and orientation of the mark 46 determined based on the detection result of the sensor 48 of the robot 40 .
  • the position and orientation of the mark 46 calculated based on the detection result of the sensor 48 are also referred to as the mark position and orientation based on the sensor 48 .
  • the control unit 11 compares the mark position/orientation based on spatial information including an image and the mark position/orientation based on the sensor 48 .
  • the control unit 11 corrects the mark position/orientation based on the spatial information including the image or the like so that the mark position/orientation based on the spatial information including the image or the like matches the mark position/orientation based on the sensor 48 .
  • the control unit 11 may correct an algorithm for calculating the mark position and orientation based on spatial information including images.
  • the control unit 11 may correct the parameters included in the algorithm, or may correct the formula, table, or program. When a plurality of calibration positions are set, the control unit 11 moves the robot 40 to each calibration position, acquires spatial information including an image of the mark 46 at each calibration position, and obtains the image, etc. corrects the mark position and orientation based on spatial information including
  • the control unit 11 sets the calibration range 60 in advance before executing the first calibration. Further, the control unit 11 sets calibration positions included in the calibration range 60 . The controller 11 sets the calibration position within the calibration range 60 .
  • the control unit 11 generates control information for the robot 40 so as to move the robot 40 to the calibration position.
  • the control unit 11 generates, as a calibration item, information specifying the mark position and orientation when the robot 40 is moved to the calibration position and the recognition result of the mark 46 of the robot 40 .
  • the calibration item is, for example, coordinate information.
  • the calibration item is, for example, coordinate information indicating the mark position and orientation based on the detection result of the sensor 48 of the robot 40 when the robot 40 is moved to the calibration position, or is recognized by the spatial information acquisition unit 20. coordinate information indicating the position and orientation of the mark 46 based on the recognition result of the mark 46.
  • the control unit 11 may generate calibration items as described below.
  • the control unit 11 acquires, for example, information on the real field size of the spatial information acquisition unit 20 or information on the FOV from the spatial information acquisition unit 20 .
  • the control unit 11 sets the calibration range 60 based on the actual field of view size or FOV of the spatial information acquisition unit 20 and the work area of the robot 40 .
  • the control unit 11 may set the calibration range 60 based on the position of the object 50 or the measurement object 52 in the motion space of the robot 40 .
  • the control unit 11 may set the calibration range 60 based on depth information or point group information of the object 50 detected by the spatial information acquisition unit 20 or the measurement object 52 .
  • the shape of the calibration range 60 is set to a truncated quadrangular pyramid shape.
  • the shape of the calibration range 60 is not limited to these and may be set to various other shapes.
  • the control unit 11 matches the mark position/orientation based on the sensor 48 of the robot 40 with the mark position/orientation based on the image of the spatial information acquisition unit 20 . Specifically, the controller 11 moves the robot 40 to the first position.
  • the control unit 11 generates control information for operating the robot 40 so that the mark 46 of the robot 40 assumes a predetermined position and posture, and controls the robot 40 based on the control information to move the robot 40 to the first position. move.
  • the first position may be a predetermined position included in the FOV of the spatial information acquisition section 20 .
  • the first position may be the center position of the FOV of the spatial information acquisition unit 20, for example.
  • the control unit 11 obtains an image of the mark 46 when the robot 40 moves to the first position, and calculates the position and orientation of the mark 46 as the mark position and orientation based on the image. Also, the control unit 11 calculates the mark position and orientation based on the sensor 48 . Based on the comparison between the mark position/orientation based on the image and the mark position/orientation based on the sensor 48, the control unit 11 controls the robot 40 so that the position of the robot 40 becomes the first position based on the detection result of the sensor 48 in the image. 40 control information is corrected. The control unit 11 moves the robot 40 based on the corrected control information so that the position of the robot 40 in the coordinate system of the robot 40 and the position of the robot 40 in the coordinate system of the space information acquisition unit 20 match. Update 40 states. In other words, it can be said that the control unit 11 updates the state of the robot 40 so that the position of the robot 40 becomes the first position in the image.
  • the control unit 11 may generate a position that is a candidate for a calibration position different from the first position within the calibration range 60 .
  • a position that is a candidate for the calibration position is also referred to as a second position.
  • the second position is included in calibration range 60 .
  • the control unit 11 estimates the state of the robot 40 when the robot 40 moves to the second position by simulating the motion of the robot 40 . That is, the control unit 11 calculates the state of the robot 40 assuming that the robot 40 moves to the second position. As a result, the controller 11 can determine whether the robot 40 can move to the second position.
  • the control unit 11 assumes that the state of the robot 40 when it is assumed to move to the second position is a state in which the robot 40 is not in contact with the object 50 or the measurement target 52 or the like, is in a state in which the joint is within the range of motion, and is not in a singular point. , register the second position as the calibration position. When registering the second position as the calibration position, the control unit 11 recognizes the mark position and orientation based on the detection result of the sensor 48 of the robot 40 when the robot 40 is moved to the second position and the mark 46 of the robot 40. Information specifying each of the tip position and orientation based on the result is generated as a plurality of calibration items.
  • the control unit 11 may generate a new second position of a different position and determine whether the new second position can be registered as the calibration position.
  • the control unit 11 may determine that the state of the robot 40 is not joint-restricted when the numerical value representing the angle of the joint of the robot 40 is within the range of motion.
  • the control unit 11 may determine that the state of the robot 40 is the joint-restricted state when the numerical value representing the angle of the joint of the robot 40 is outside the range of motion.
  • a singular point corresponds to a posture of the robot 40 where the robot 40 is structurally uncontrollable. If the trajectory for operating the robot 40 includes a singular point, the robot 40 moves (runs away) at high speed near the singular point and stops at the singular point.
  • the singular points of the robot 40 are the following three types (1) to (3). (1) Points outside the work area when controlling the robot 40 to near the outer limits of the work area. (The work area is the area corresponding to the motion space of the robot 40.) (2) Points when controlling the robot 40 directly above and below the robot base even within the work area. (3) A point where the joint angle one before the tip joint of the arm 42 of the robot 40 is zero or 180 degrees (wrist alignment singular point).
  • the control unit 11 may determine that the state of the robot 40 is the state of singularity when the numerical value representing the state of the robot 40 matches the numerical value representing the state of singularity.
  • the control unit 11 may determine that the state of the robot 40 is the state of singularity when the difference between the numerical value representing the state of the robot 40 and the numerical value representing the state of singularity is less than a predetermined value.
  • the numerical value representing the state of the robot 40 may include, for example, the angle of the joint of the arm 42 or the torque of the motor that drives the robot 40 .
  • control unit 11 sets the calibration range 60 and sets the calibration positions of the first position and the second position within the calibration range 60 . Further, the control unit 11 can generate a calibration item as information specifying the mark position and orientation of the robot 40 when the robot 40 is moved to the calibration position.
  • the control unit 11 performs the first calibration so that the tip position/orientation calibration item regarding the recognition result of the mark 46 matches the mark position/orientation calibration item regarding the detection result of the sensor 48 of the robot 40 . Specifically, the controller 11 moves the robot 40 to the calibration position. The control unit 11 acquires the recognition result of the mark 46 of the robot 40 when the robot 40 moves to the calibration position by the space information acquisition unit 20 . The control unit 11 calculates the relative positional relationship of the mark position/orientation calibration item acquired as the recognition result of the mark 46 with respect to the mark position/orientation calibration item based on the sensor 48 of the robot 40 .
  • the relative positional relationship corresponds to the coordinate difference and angle difference between the mark position and orientation specified by both calibration items and the recognition result of the mark 46 .
  • the control unit 11 controls the spatial information acquisition unit so that the coordinate error and angle error corresponding to the relative positional relationship between the two calibration items are zero or close to zero (that is, the error is less than a predetermined value).
  • the coordinate system of 20 is corrected to match the coordinate system of robot 40 . By doing so, the control unit 11 matches the recognition result of the mark 46 when the robot 40 moves to the calibration position with the mark position/orientation specified by the sensor 48 of the robot 40, so that the relative positional relationship can be calculated. can be calculated.
  • the control unit 11 can set the calibration position by generating a calibration item. Conversely, the calibration position corresponds to the position to move the robot 40 to generate the calibration item. By applying the calibration item to the control of the robot 40, the controller 11 can move the robot 40 to the calibration position and perform calibration. Specifically, the control unit 11 performs the first calibration to correct the (X_CA, Y_CA, Z_CA) coordinate system of the spatial information acquisition unit 20 to the (X_RB, Y_RB, Z_RB) coordinate system of the robot 40. Let it match. The control unit 11 may identify the relationship between the coordinate system of the spatial information acquisition unit 20 and the coordinate system of the robot 40 by executing the first calibration.
  • control unit 11 may perform further calibration using a measurement object 52 such as a pin placed in the motion space of the robot 40 .
  • the calibration performed using the measurement object 52 to improve the accuracy of the first calibration is also called second calibration.
  • the control unit 11 recognizes the measurement object 52 based on the image of the spatial information acquisition unit 20 and acquires the position of the measurement object 52 .
  • the control unit 11 may recognize the measurement object 52 by image recognition of an image of the measurement object 52 .
  • the measurement object 52 may have a measurement object mark for recognizing the position of the measurement object 52 in an image.
  • the marks on the measurement object 52 may be configured identically to the marks 46 mounted on the robot 40 , for example, the object marks are sometimes referred to as marks 46 in this disclosure.
  • the control unit 11 may acquire the position of the measurement object 52 based on an image of the measurement object mark of the measurement object 52 . In this embodiment, the controller 11 presses the first finger 441 or the second finger 442 of the end effector 44 against the object 52 to be measured.
  • the control unit 11 detects the load acting on the first finger 441 or the second finger 442 from the measurement object 52 using the force sensor 444 or the tactile sensor 445 .
  • the control unit 11 calculates the position of the measurement object 52 based on the detection result of the force sensor 444 or the tactile sensor 445 .
  • the control unit 11 may estimate whether or not the coordinate system that affects the operation of the robot 40 can be corrected based on the calculation result of the position of the measurement object 52, and corrects the coordinate system if the correction is possible. may As will be described later, the second calibration may be performed while the robot 40 is in contact with the object 52 to be measured by manual operation.
  • the number of measurement objects 52 arranged in the motion space is not limited to one, and may be two or more. That is, one or more measurement objects 52 may be arranged in the operating space.
  • the control unit 11 detects one or more measurement objects 52 appearing in the motion space image, and acquires the coordinates of each measurement object 52 in the coordinate system of the spatial information acquisition unit 20 . Also, the control unit 11 acquires the coordinates of each measurement object 52 based on the position information of the end effector 44 with respect to each measurement object 52 .
  • the control unit 11 determines the coordinate system of the spatial information acquisition unit 20 or A second calibration may be performed by correcting the coordinate system of the robot 40 .
  • the coordinate system is corrected so that the depth information generated in the (X_CA, Y_CA, Z_CA) coordinate system by the spatial information acquisition unit 20 matches the (X_RB, Y_RB, Z_RB) coordinate system of the robot 40.
  • the control unit 11 may correct the coordinate system, for example, in the rotational direction or the translational direction.
  • the control unit 11 may correct the coordinate system so as to expand or contract, for example.
  • the control unit 11 may correct distortion of the coordinate system, for example.
  • the measurement object 52 may be configured to be less deformable when the end effector 44 contacts it.
  • the rigidity of the measurement object 52 may be increased so that the measurement object 52 does not deform due to contact with the end effector 44 .
  • the stiffness of the measurement object 52 may be determined based on the magnitude and direction of loads acting on the end effector 44 and the measurement object 52 when the end effector 44 is brought into contact with the measurement object 52 .
  • the measurement object 52 may be configured to have a portion smaller than the distance between the first finger 441 and the second finger 442 when the first finger 441 and the second finger 442 are in the widest open state. By doing so, the control unit 11 can pinch the measurement object 52 between the first finger 441 and the second finger 442 . Also, the measurement object 52 may be configured to have a size capable of mounting the measurement object mark appearing in the image of the spatial information acquisition unit 20 . Also, the measurement object 52 may be configured to have a size that allows the position to be recognized in the image of the spatial information acquisition unit 20 .
  • the measurement object 52 may be placed in the space where the robot 40 performs work.
  • the measurement object 52 is located within the calibration range 60, for example.
  • the measurement object 52 may be configured so that the position contacted by the end effector 44 can be easily moved.
  • the measurement object 52 may be configured to be adjustable in height in the Z_RB axis direction when placed on a work table 70 having an upper surface extending along the X_RB axis and the Y_RB axis.
  • the measurement object 52 may be configured as a block that can be assembled so that it can be stacked along the Z_RB axis.
  • the control unit 11 of the robot control device 10 may execute the robot control method including the procedure of the flowchart illustrated in FIG. 4 so as to execute the second calibration for improving the accuracy of the first calibration.
  • the robot control method may be implemented as a robot control program that is executed by a processor that configures the control unit 11 .
  • the robot control program may be stored on a non-transitory computer-readable medium.
  • the control unit 11 recognizes the measurement object 52 based on the image of the spatial information acquisition unit 20 (step S1).
  • the control unit 11 brings the end effector 44 of the robot 40 into contact with the measurement object 52 (step S2).
  • the control unit 11 acquires the detection result of the force sensor 444 or the tactile sensor 445 when the end effector 44 contacts the measurement object 52, and detects the load (step S3).
  • the end effector 44 of the robot 40 may come into contact with the measurement object 52 by manual operation. Therefore, the control unit 11 not only detects the detection result of the force sensor 444 or the tactile sensor 445 when the end effector 44 is in contact with the measurement object 52, but also the state when the end effector 44 is in contact with the measurement object 52 by manual operation. can be obtained.
  • Contact information is obtained by combining the detection result of the force sensor 444 or the tactile sensor 445 when the end effector 44 is in contact with the measurement object 52 and the detection result of the state when the end effector 44 is in contact with the measurement object 52 by manual operation. Also called The control unit 11 determines whether or not the end effector 44 has come into contact with all the measurement objects 52 and the loads have been detected (step S4). When the load is not detected for all the measurement objects 52 (step S4: NO), the control unit 11 returns to step S1 and repeats steps S1 to S3. In this embodiment, the end effector 44 is brought into contact with the object 52 to be measured. , the end effector 44 does not need to be in contact with the measurement object 52 .
  • step S4 When the load is detected for all the measurement objects 52 (step S4: YES), the control unit 11 corrects the coordinate system of the spatial information acquisition unit 20 based on the load detection result (step S5). After executing the procedure of step S5, the control unit 11 ends the execution of the procedure of the flowchart of FIG.
  • control unit 11 determines the coordinates recognized as the position of the measurement object 52 in the coordinate system of the spatial information acquisition unit 20. may be corrected.
  • the control unit 11 may execute the procedure of the flowchart illustrated in FIG. 4 after calibration based on the image of the spatial information acquisition unit 20, or after calibration using another method.
  • the control unit 11 brings the end effector 44 into contact with the measurement object 52 in various ways, and obtains the position of the measurement object 52 based on the detection results of the force sensor 444 or the tactile sensor 445 .
  • An example of a mode of bringing the end effector 44 into contact with the measurement object 52 will be described below.
  • the position of the measurement object 52 may be, for example, the center coordinates of the measurement object mark (mark 46), the coordinates of the edge of the measurement object 52, or the like.
  • the control unit 11 brings the end effector 44 into contact with the measurement object 52 so that the measurement object 52 is sandwiched between the first finger 441 and the second finger 442 of the end effector 44 as shown in FIG. you can In this case, the inner side of the first finger 441 or the second finger 442 contacts the measurement object 52 .
  • the control unit 11 detects the load acting on the first finger 441 or the second finger 442 from the measurement object 52 with the force sensor 444 and the position of the first finger 441 or the second finger 442.
  • the position of the measurement object 52 may be calculated.
  • the control unit 11 may calculate the position of the measurement object 52 based on the detection result of the tactile sensor 445 installed inside the first finger 441 or the second finger 442 .
  • the position of the object 52 to be measured along the X_RB axis can be calculated. That is, the control unit 11 can calculate the X_RB axis components of the coordinates of the measurement object 52 .
  • the control unit 11 controls the first finger 441 and the second finger 442 to be aligned along the Y_RB axis, and brings the first finger 441 or the second finger 442 into contact with the measurement object 52 on the inner side thereof.
  • Y_RB axis components of the coordinates of the measurement object 52 can be calculated.
  • the control unit 11 controls the first finger 441 and the second finger 442 to line up along the Z_RB axis, and brings the first finger 441 or the second finger 442 into contact with the measurement object 52 on the inner side thereof.
  • Z_RB axis components of the coordinates of the measurement object 52 can be calculated.
  • the control unit 11 controls the first finger 441 and the second finger 442 to be aligned along each of the three axes, and causes the first finger 441 or the second finger 442 to contact the measurement object 52 inside thereof. , the three-dimensional coordinates of the measurement object 52 can be calculated.
  • the control unit 11 controls the first finger 441 and the second finger 442 to line up along three mutually independent directions, and the first finger 441 or the second finger 442 contacts the measurement object 52 inside thereof.
  • the three-dimensional coordinates of the measurement object 52 can also be calculated by setting the In this case, for example, each component of the coordinates (X_RB, Y_RB, Z_RB) of the measurement object 52 is an intermediate value of each component of the coordinates (X_RB, Y_RB, Z_RB) of the first finger 441 or the second finger 442. can be
  • the control unit 11 moves the first finger 441 and the second finger 442 of the end effector 44 with the first finger 441 and the second finger 442 open.
  • a surface other than the inner side may be brought into contact with the measurement object 52 .
  • the control unit 11 can calculate the coordinates of the measurement object 52 by moving the end effector 44 along each of the three axes and bringing it into contact with the measurement object 52 .
  • the control unit 11 may move the end effector 44 along three mutually independent directions to contact the measurement object 52 . In this case, for example, the end effector 44 having one suction nozzle can also be used.
  • the control unit 11 moves the end effector 44 in the negative direction of the X_RB axis to bring the outer side of the first finger 441 (the negative direction side of the X_RB axis) into contact with the measurement object 52 .
  • the control unit 11 can calculate the position of the measurement object 52 in the X_RB axis direction based on the result of detecting the load acting on the first finger 441 by the force sensor 444 and the position of the first finger 441 .
  • the control unit 11 determines the position of the measurement object 52 in the X_RB axis direction based on the detection result of the tactile sensor 445 and the position of the first finger 441. can be calculated.
  • the X_RB component of the coordinates of the measurement object 52 is the X_RB component of the coordinates of the outer surface of the first finger 441, considering the dimensions of the measurement object 52. A value obtained by adding or subtracting half the width may be used.
  • the control unit 11 moves the end effector 44 in the positive direction of the Y_RB axis to bring the side surface of the first finger 441 (negative direction side of the X_RB axis) into contact with the measurement object 52 .
  • the control unit 11 can calculate the position of the measurement object 52 in the Y_RB axis direction based on the result of detecting the load acting on the first finger 441 with the force sensor 444 and the position of the first finger 441 .
  • the tactile sensor 445 is installed on the side surface of the first finger 441
  • the control unit 11 determines the position of the measurement object 52 in the Y_RB axis direction based on the detection result of the tactile sensor 445 and the position of the first finger 441. can be calculated.
  • the Y_RB component of the coordinates of the measurement object 52 is the width It may be a value obtained by adding or subtracting half of .
  • the control unit 11 moves the end effector 44 in the negative direction of the Z_RB axis, and moves the tip of the first finger 441 (negative direction side of the Z_RB axis) of the measurement object 52 in the positive direction of the Z_RB axis. It is in contact with the side surface.
  • the control unit 11 can calculate the position of the measurement object 52 in the Z_RB axis direction based on the result of detecting the load acting on the first finger 441 with the force sensor 444 and the position of the first finger 441 .
  • the control unit 11 determines the position of the measurement object 52 in the Z_RB axis direction based on the detection result of the tactile sensor 445 and the position of the first finger 441. can be calculated.
  • the Z_RB component of the coordinates of the measurement object 52 may be the same as the Z_RB component of the coordinates of the tip surface of the first finger 441 .
  • the control unit 11 moves the first finger 441 or the second finger 442 of the end effector 44 with the first finger 441 and the second finger 442 closed. It may be brought into contact with the object 52 to be measured.
  • the control unit 11 can calculate the coordinates of the measurement object 52 by moving the end effector 44 along each of the three axes and bringing it into contact with the measurement object 52 .
  • the control unit 11 may move the end effector 44 along three mutually independent directions to contact the measurement object 52 . In the following example, an example in which contact is made only on one side of each of the three axes or directions is described, but contact may be made from both sides of each of the three axes or directions.
  • the control unit 11 moves the end effector 44 in the negative direction of the X_RB axis to bring the outer side of the first finger 441 (the negative direction side of the X_RB axis) into contact with the measurement object 52 .
  • the control unit 11 can calculate the position of the measurement object 52 in the X_RB axis direction based on the result of detecting the load acting on the first finger 441 by the force sensor 444 and the position of the first finger 441 .
  • the control unit 11 determines the position of the measurement object 52 in the X_RB axis direction based on the detection result of the tactile sensor 445 and the position of the first finger 441. can be calculated.
  • the X_RB component of the coordinates of the measurement object 52 is the X_RB component of the coordinates of the outer surface of the first finger 441, considering the dimensions of the measurement object 52. A value obtained by adding or subtracting half the width may be used.
  • the control unit 11 moves the end effector 44 in the positive direction of the Y_RB axis to bring the side surface of the first finger 441 or the second finger 442 (negative direction side of the X_RB axis) into contact with the measurement object 52. ing.
  • the control unit 11 detects the load acting on the first finger 441 or the second finger 442 with the force sensor 444 and the position of the first finger 441 or the second finger 442. can be calculated in the Y_RB axis direction.
  • the tactile sensor 445 is installed on the side surface of the first finger 441 or the second finger 442
  • the control unit 11 measures based on the detection result of the tactile sensor 445 and the position of the first finger 441 or the second finger 442.
  • the position of the object 52 in the Y_RB axis direction can be calculated.
  • the Y_RB component of the coordinates of the measurement object 52 is the width It may be a value obtained by adding or subtracting half of .
  • the control unit 11 moves the end effector 44 in the negative direction of the Z_RB axis to bring the tip of the first finger 441 or the second finger 442 (the negative direction side of the Z_RB axis) into contact with the measurement object 52. ing.
  • the control unit 11 detects the load acting on the first finger 441 or the second finger 442 with the force sensor 444 and the position of the first finger 441 or the second finger 442. can be calculated in the Z_RB axis direction.
  • the control unit 11 measures based on the detection result of the tactile sensor 445 and the position of the first finger 441 or the second finger 442.
  • the position of the object 52 in the Z_RB axis direction can be calculated.
  • the Z_RB component of the coordinates of the measurement object 52 may be the same as the Z_RB component of the coordinates of the tip surface of the first finger 441 .
  • the control unit 11 touches the surface of the measurement object 52 on the positive direction side of the Z_RB axis with the first finger 441 or the second finger 442, and
  • the end effector 44 may be moved in the X_RB axis direction or the Y_RB axis direction. That is, the control unit 11 may move the end effector 44 in the planar direction of the upper surface while the end effector 44 is in contact with the upper surface of the object 52 to be measured.
  • the control unit 11 can collectively calculate the coordinates of the Z_RB axis and the coordinates of the X_RB axis or the Y_RB axis of the measurement object 52 .
  • the measurement object 52 may be arranged in the motion space such that the surface (upper surface) of the measurement object 52 on the positive direction side of the Z_RB axis appears in the motion space image.
  • the control unit 11 brings the first finger 441 or the second finger 442 into contact with the surface of the measurement object 52 on the positive direction side of the Z_RB axis.
  • the control unit 11 can calculate the position of the measurement object 52 in the Z_RB axis direction based on the detection result of the force sensor 444 or the tactile sensor 445 and the position of the first finger 441 or the second finger 442 .
  • the control unit 11 moves the first finger 441 or the second finger 442 along the X_RB axis or the Y_RB axis.
  • the first finger 441 or the second finger 442 deviates from the surface of the measurement object 52 on the positive direction side of the Z_RB axis. That is, the first finger 441 or the second finger 442 does not contact the surface of the measurement object 52 on the positive direction side of the Z_RB axis.
  • the control unit 11 adjusts the X_RB axis of the measurement object 52 based on the detection result that the contact between the first finger 441 or the second finger 442 and the surface of the measurement object 52 on the positive direction side of the Z_RB axis is lost.
  • the direction or position in the Y_RB axis direction can be calculated.
  • the control unit 11 may detect a change in force acting on the first finger 441 or the second finger 442 in the Z_RB axis direction based on the detection results of the force sensor 444 or the tactile sensor 445 .
  • the control unit 11 can calculate the position of the measurement object 52 in the X_RB axis or Y_RB axis direction based on the change in force in the Z_RB axis direction. Assume, for example, that the control unit 11 moves the first finger 441 or the second finger 442 in the X_RB axis direction.
  • the control unit 11 When the load acting on the first finger 441 or the second finger 442 in the Z_RB axis direction decreases by a predetermined value or more, the control unit 11 causes the first finger 441 or the second finger 442 to move toward the X_RB axis of the measurement object 52 . It may be determined that the end of the direction has been reached. The control unit 11 may calculate the position where it is determined that the first finger 441 or the second finger 442 has reached the end of the measurement object 52 in the X_RB axis direction as the position of the measurement object 52 in the X_RB axis direction.
  • the control unit 11 moves the end effector 44 in the positive direction of the X_RB axis while the first finger 441 or the second finger 442 is in contact with the surface of the measurement object 52 on the positive side of the Z_RB axis. ing.
  • the control unit 11 detects the load acting on the first finger 441 or the second finger 442 and the measurement object 52 with the force sensor 444 or the tactile sensor 445 and The position of the measuring object 52 in the Z_RB axis direction can be calculated based on the position.
  • the control unit 11 controls the measurement object 52 based on the detection result that the first finger 441 or the second finger 442 and the measurement object 52 are out of contact with the measurement object 52 and the position of the first finger 441 or the second finger 442. can be calculated in the X_RB axis direction.
  • the control unit 11 moves the end effector 44 in the positive direction of the Y_RB axis while the first finger 441 or the second finger 442 is in contact with the surface of the measurement object 52 on the positive direction side of the Z_RB axis. ing.
  • the control unit 11 detects the load acting on the first finger 441 or the second finger 442 with the force sensor 444 or the tactile sensor 445 and based on the position of the first finger 441 or the second finger 442.
  • the position of the measurement object 52 in the Z_RB axis direction can be calculated.
  • control unit 11 controls the measurement object 52 based on the detection result that the first finger 441 or the second finger 442 and the measurement object 52 are out of contact with the measurement object 52 and the position of the first finger 441 or the second finger 442. can be calculated in the Y_RB axis direction.
  • the control unit 11 moves the end effector 44 in the positive direction of the X_RB axis and the Y_RB axis in a state in which the first finger 441 or the second finger 442 is in contact with the surface of the measurement object 52 on the positive direction side of the Z_RB axis. are simultaneously moved in the positive direction of That is, the control unit 11 moves the first finger 441 or the second finger 442 in a direction oblique to each of the X_RB axis and the Y_RB axis. In this case, the control unit 11 detects the load acting on the first finger 441 or the second finger 442 with the force sensor 444 or the tactile sensor 445 and based on the position of the first finger 441 or the second finger 442.
  • the position of the measurement object 52 in the Z_RB axis direction can be calculated. Further, the control unit 11 controls the measurement object 52 based on the detection result that the first finger 441 or the second finger 442 and the measurement object 52 are out of contact with the measurement object 52 and the position of the first finger 441 or the second finger 442. can be calculated for the X_RB axis direction and the Y_RB axis direction.
  • the first finger 441 and the second finger 442 are closed as shown in FIGS. 7A, 7B and 7C. It may be in a closed state or in an open state.
  • the control unit 11 moves the first finger 441 and the second finger 442 to the measurement object 52 while holding the measurement object 52 between the first finger 441 and the second finger 442 .
  • the end effector 44 may be rotated so as to move along the circumference of the .
  • the shape of the measurement object 52 may be a cylindrical shape with a circular upper surface.
  • the control unit 11 moves at least one finger out of the first finger 441 or the second finger 442 so as to approach the other finger, and brings the first finger 441 and the second finger 442 into contact with the measurement object 52.
  • the robot 40 may be controlled to rotate around the measurement object 52 while holding the measurement object 52 .
  • the control unit 11 may rotate the end effector 44 based on the detection results of the tactile sensors 445 installed inside the first finger 441 and the second finger 442 .
  • the control unit 11 can calculate the center coordinates of the measurement object 52 in the X_RB axis direction and the Y_RB axis direction based on the locus of movement of the first finger 441 or the second finger 442 .
  • the shape of the measurement object 52 is not limited to a cylinder, and may be a prism shape having a polygonal upper surface.
  • the shape of the measurement object 52 is not limited to these and may be other various shapes.
  • the measurement object 52 may be placed in the motion space such that the upper surface of the measurement object 52 is shown in the motion space image.
  • control section 11 may control the robot 40 so that the end effector 44 contacts at least one surface of the measurement object 52 .
  • the control unit 11 can improve the detection accuracy of the position of the measurement object 52 .
  • the coordinates of the measurement object 52 are obtained based on the fact that the end effector 44 is in contact with the measurement object 52.
  • the positions of the end effector 44 and the measurement object 52 are If the relationship is known, the end effector 44 does not have to contact the measurement object 52 .
  • the first finger 441 of the end effector 44 is equipped with a distance sensor capable of non-contact measurement, the above-described Thus, it is possible to calculate the coordinates of the object 52 to be measured. Also, each component of the coordinates of the measurement object 52 may be calculated based on different sensors.
  • the control unit 11 may control the robot 40 so that the end effector 44 contacts the surface of the measurement object 52 that is reflected in the motion space image. By doing so, the control unit 11 can easily correct the position of the measurement object 52 based on the spatial information acquisition unit 20 based on the position of the measurement object 52 based on contact with the measurement object 52 . As a result, the precision of the coordinate system of the spatial information acquisition unit 20 can be improved.
  • the first calibration or the second calibration of the robot 40 configured to grip the object 50 with the first finger 441 and the second finger 442 is described. was done.
  • the aspect of the second calibration in this embodiment is not only applied to the robot 40 having two fingers, but may be applied to the robot 40 having three or more fingers, or to the robot 40 having three or more fingers. It may be applied to the robot 40 having a holding portion including, for example. Also, the aspect of the second calibration in the present embodiment may be applied to the robot 40 having a jig such as a rod for measurement in addition to the holding section.
  • the robot 40 is brought into contact with the measurement object 52 placed in the action space, and the load is detected. 52 coordinates are detected.
  • the coordinates of the measurement object 52 based on the image of the spatial information acquisition unit 20 can be corrected to match the coordinates of the measurement object 52 based on the contact of the robot 40 .
  • the coordinate system of the spatial information acquisition unit 20 can be corrected in accordance with the coordinate system of the robot 40 . As a result, the calibration accuracy of the robot 40 can be improved.
  • the accuracy of calibration can be ensured even if the calculation accuracy of the depth information in the spatial information acquisition unit 20 is lowered. As a result, the cost of the spatial information acquisition unit 20 can be reduced. In addition, the influence exerted on the accuracy of calibration by changing the configuration of the spatial information acquisition unit 20 or the arrangement of the spatial information acquisition unit 20 can be reduced.
  • the coordinates or the coordinate system can be corrected by the contact of the robot 40 with the measurement object 52, the accuracy of calibration can be ensured without the operator's visual confirmation. As a result, workload and operating costs can be reduced. Also, automation of calibration can be facilitated. Also, the coordinates or coordinate system can be corrected even if the workspace of the robot 40 is not of uniform height.
  • the robot 40 is installed on the workbench 70 , but the robot 40 may be installed on a support table other than the workbench 70 . Even if the robot 40 is positioned on a support stand different from the workbench 70, the work object and the like are installed on the workbench 70, so the coordinate system of the motion space is the coordinate system of the workbench 70. But also. Therefore, by performing the calibration of the present disclosure, accurate work can be performed even if the robot 40 is not installed on the workbench 70 .
  • the control unit 11 of the robot control device 10 first performs the first calibration between the coordinate system of the robot 40 and the coordinate system of the spatial information acquisition unit 20, and then performs the first calibration.
  • a second calibration was performed based on article 52.
  • the controller 11 of the robot controller 10 may perform the second calibration first.
  • the control unit 11 of the robot control device 10 calculates the coordinates of the measurement object 52 in the coordinate system of the robot 40 in the same manner as in the first embodiment. good to get Then, the control unit 11 may perform calibration by correcting the robot coordinates using the acquired coordinates of the measurement object 52 in the coordinate system of the robot 40 as the origin of the coordinate system of the robot 40 . Alternatively, for example, the control unit 11 acquires the coordinates (X, Y, Z) of the motion space of a specific location by user input, etc., and based on the input motion space coordinates, the coordinate system of the motion space Calibration may be performed by correcting the coordinate system of the robot 40 . Note that the robot 40 may be manually brought into contact with the measurement object 52 , or manually moved to the vicinity of the measurement object 52 and then moved in a certain direction by the control unit 11 to move the robot 40 to the measurement object 52 . may come into contact with
  • the robot control device 10 may acquire the input from the user via the interface 13 .
  • the robot control system 1 may further include a terminal device having a user interface that is preferentially or wirelessly connected to the interface 13 of the robot control device 10 .
  • the user interface inputs information from the user and outputs information to the user.
  • the user interface includes, for example, a touch sensor.
  • the touch sensor detects contact with a user's finger, stylus pen, or the like, and identifies the contact position.
  • the touch sensor may be integrated with the display to form a touch panel display.
  • the control unit 11 may complete the calibration and start the work of the robot 40. Further, when the robot control system 1 includes a camera as the space information acquisition unit 20, the control unit 11 performs calibration between the coordinate system of the space information acquisition unit 20 and the coordinate system of the motion space, or the coordinate system of the robot 40. A conversion formula between the coordinate system of the robot 40 and the coordinate system of the spatial information acquisition section 20 may be determined by performing calibration with the coordinate system of the spatial information acquisition section 20 . Note that when the positions of the robot 40 and the spatial information acquisition unit 20 are fixed from the beginning, the coordinate system of the robot 40 and the coordinate system of the spatial information acquisition unit 20 need not be calibrated. Since the coordinate system and the coordinate system of the spatial information acquisition unit 20 can be converted, calibration need not be performed.
  • measurement object 52 may be configured to have marks 46 .
  • the measurement object 52 may be configured with a mark 46 that functions as a measurement object mark.
  • the measurement object 52 may be configured to have separate measurement object marks and marks 46 .
  • the measurement object 52 may have, for example, an isotropic planar shape when the measurement object 52 is viewed from above, and the upper surface may be flat.
  • the measurement object 52 is, for example, a cube, a rectangular parallelepiped, a quadrangular prism, or a polygonal prism such as a triangular prism.
  • the object 52 to be measured has a top surface including corners or straight sides, such as a polygonal prism, for example, when the end effector 44 is moved along the top surface of the object 52 to be measured.
  • the presence of corners or sides of object 52 can improve the accuracy of determining the coordinate position. By doing so, the space occupied by the jigs for performing the first calibration and the second calibration in the operating space can be reduced.
  • the measurement object 52 may be configured to have the mark 46 and further have a portion that is contacted by the end effector 44 of the robot 40 .
  • the upper surface of the measurement object 52 can be used for the second calibration.
  • the accuracy of the second calibration can be enhanced.
  • the measurement object 52 may be configured to have no marks 46 . If the robot control system 1 does not have a camera as the spatial information acquisition unit 20, the second calibration can be performed by manually bringing the robot 40 closer to the measurement object 52 with the configuration illustrated in FIG. 9C.
  • the measurement object 52 may be cylindrical and configured to have a mark 46 on the top surface of the cylindrical shape. By doing so, the accuracy of the second calibration can be enhanced.
  • the measurement objects 52 may be arranged at diagonal positions on the upper surface of the workbench 70 . In this way, any tilt or distortion of the top surface of the worktable 70 can be corrected in the coordinate system of the motion space of the robot 40 .
  • Embodiments according to the present disclosure are not limited to any specific configuration of the embodiments described above. Embodiments of the present disclosure extend to any novel feature or combination thereof described in the present disclosure or any novel method or process step or combination thereof described. be able to.
  • references such as “first” and “second” are identifiers for distinguishing the configurations.
  • Configurations that are differentiated in descriptions such as “first” and “second” in this disclosure may interchange the numbers in that configuration.
  • a first calibration can exchange identifiers “first” and “second” with a second calibration. The exchange of identifiers is done simultaneously.
  • the configurations are still distinct after the exchange of identifiers.
  • Identifiers may be deleted. Configurations from which identifiers have been deleted are distinguished by codes.
  • the description of identifiers such as “first” and “second” in this disclosure should not be used as a basis for interpreting the order of the configuration or the existence of lower numbered identifiers.
  • robot control system 10 robot control device (11: control unit, 12: storage unit, 13: interface) 20 spatial information acquisition unit 40 robot (410: control unit, 42: arm, 44: end effector, 440: control unit, 441: first finger, 442: second finger, 443: driving unit, 444: force sensor, 445: tactile sensor, 46: mark, 48: sensor, 49: interface) 50 object 52 object to be measured (54: accessible range) 60 CALIBRATION RANGE 70 WORKBENCH

Landscapes

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

Abstract

ロボット制御装置は、センサおよびエンドエフェクタを有するロボットを制御する制御部を備える。制御部は、ロボットの動作空間内に配された測定対象物に対するエンドエフェクタの位置情報を取得し、位置情報に基づき、ロボットの動作に関する座標系を補正する。

Description

ロボット制御装置、ロボット制御システム、及びロボット制御方法 関連出願へのクロスリファレンス
 本出願は、日本国特許出願2021-127725号(2021年8月3日出願)の優先権を主張するものであり、当該出願の開示全体を、ここに参照のために取り込む。
 本開示は、ロボット制御装置、ロボット制御システム、及びロボット制御方法に関する。
 従来、被作業対象の位置合わせマークの画像認識処理に基づいて教示データを作成するロボット制御装置が知られている(例えば特許文献1参照)。
特開平5-301183号公報
 本開示の一実施形態に係るロボット制御装置は、センサおよびエンドエフェクタを有するロボットを制御する制御部を備える。前記制御部は、前記ロボットの動作空間内に配された測定対象物に対する前記エンドエフェクタの位置情報を取得し、前記位置情報に基づき、前記ロボットの動作に関する座標系を補正する。
 本開示の一実施形態に係るロボット制御システムは、前記ロボット制御装置と、前記ロボットとを備える。
 本開示の一実施形態に係るロボット制御方法は、センサおよびエンドエフェクタを有するロボットを制御する。前記ロボット制御方法は、前記ロボットの動作空間内に配された測定対象物に対する前記エンドエフェクタの位置情報を取得することと、前記位置情報に基づき、前記ロボットの動作に関する座標系を補正することとを含む。
一実施形態に係るロボット制御システムの構成例を示すブロック図である。 一実施形態に係るロボット制御システムの構成例を示す模式図である。 エンドエフェクタの構成例を示す模式図である。 一実施形態に係るロボット制御方法の手順例を示すフローチャートである。 第1指と第2指とが開いた状態において第1指の外側で測定対象物に接触する動作例を示す模式図である。 第1指と第2指とが開いた状態において第1指の側面で測定対象物に接触する動作例を示す模式図である。 第1指と第2指とが開いた状態において第1指の先端で測定対象物に接触する動作例を示す模式図である。 第1指と第2指とが閉じた状態において第1指の外側で測定対象物に接触する動作例を示す模式図である。 第1指と第2指とが閉じた状態において第1指又は第2指の側面で測定対象物に接触する動作例を示す模式図である。 第1指と第2指とが閉じた状態において第1指又は第2指の先端で測定対象物に接触する動作例を示す模式図である。 第1指又は第2指が測定対象物の上面に接触した状態で上面に沿ったX_RB軸方向に移動する動作例を示す模式図である。 第1指又は第2指が測定対象物の上面に接触した状態で上面に沿ったY_RB軸方向に移動する動作例を示す模式図である。 第1指又は第2指が測定対象物の上面に接触した状態で上面に沿ったX_RB軸方向及びY_RB軸方向に同時に移動する動作例を示す模式図である。 第1指と第2指とで測定対象物を挟んで測定対象物の周りを回転する動作例を示す模式図である。 マークを有する測定対象物の構成例を示す模式図である。 マークを有するとともに接触領域を有する測定対象物の構成例を示す模式図である。 マークを有しない測定対象物の構成例を示す模式図である。 円柱状の測定対象物の構成例を示す模式図である。 作業台の上面の対角の位置に測定対象物を配置する例を示す模式図である。
 画像認識によるキャリブレーションよりも高精度でロボットのキャリブレーションを実行することが求められる。本開示の一実施形態に係るロボット制御装置、ロボット制御システム、及びロボット制御方法によれば、ロボットのキャリブレーション精度が向上され得る。
(ロボット制御システム1の概要)
 図1及び図2に例示されるように、一実施形態に係るロボット制御システム1は、ロボット40と、ロボット制御装置10と、空間情報取得部20とを備える。ロボット40は、所定の動作空間において動作する。空間情報取得部20は、ロボット40が動作する動作空間を撮影し、動作空間のデプス情報を生成する。空間情報取得部20は、後述するように、動作空間に存在する物体50の表面に位置する測定点までの距離を算出する。空間情報取得部20から測定点までの距離は、デプスとも称される。デプス情報は、各測定点について測定したデプスに関する情報である。言い換えれば、デプス情報は、動作空間に存在する物体50の表面に位置する測定点までの距離に関する情報である。デプス情報は、空間情報取得部20から見た方向とその方向のデプスとを関連づけたデプスマップとして表されてもよい。空間情報取得部20は、(X_CA,Y_CA,Z_CA)座標系に基づいて動作空間のデプス情報を生成する。空間情報取得部20は、動作空間を撮影した画像を生成してもよい。動作空間を撮影した画像は、動作空間画像とも称される。
 後述するように、ロボット制御装置10は、空間情報取得部20で動作空間を撮影した画像に基づいてキャリブレーションを実行してもよい。また、ロボット制御装置10は、動作空間に配置されている測定対象物52(図3等参照)に対するロボット40の位置情報を検出することによって、ロボットの動作に関する座標系を補正することができる。ロボットの動作に関する座標系とは、例えば、動作空間の座標系、ロボット40の座標系又は空間情報取得部20の座標系である。ロボット制御装置10は、荷重又は圧力等の種々の物理量を検出することによって測定対象物52に対するロボット40の位置情報を検出してもよい。なお、例えば、ロボット制御装置10が荷重又は圧力などを検出した場合、測定対象物52に対するロボット40の位置は0(ゼロ)又は一定の距離ということになる。また、ロボット制御装置10は、ロボット40と測定対象物52との距離を測定することによって、測定対象物52に対するロボット40の位置情報を検出してもよい。なお、ロボット40は、測定対象物52に対する位置情報を検出可能なセンサ48を有している。
 ロボット制御装置10は、空間情報取得部20で生成されたデプス情報に基づいてロボット40を動作させる。ロボット制御装置10は、(X_RB,Y_RB,Z_RB)座標系に基づいてロボット40を制御し、動作させる。ロボット40は、例えば、作業台70に設置されていてもよい。ロボット制御装置10は、ロボット40の動作空間内に位置する物体50を作業対象物としてロボット40に作業を実行させてよい。あるいは、ロボット制御装置10は、ロボット40の動作空間内に位置する物体50を障害物として認識してもよい。ロボット制御装置10は、ロボット40に作業を実行させる前にキャリブレーションを実行してよい。ロボット制御装置10は、ロボット40に作業を実行させる前に、測定対象物52にロボット40を接触させてロボット40に作用する荷重を検出することによる測定対象物52の座標の補正又は座標系の補正を実行してよい。
 (X_RB,Y_RB,Z_RB)座標系は、ロボット40の座標系とも称される。(X_CA,Y_CA,Z_CA)座標系は、空間情報取得部20の座標系とも称される。ロボット40の座標系は、空間情報取得部20の座標系と同じ座標系として設定されてもよいし、異なる座標系として設定されてもよい。ロボット40の座標系が空間情報取得部20の座標系と異なる座標系として設定される場合、例えば、ロボット制御装置10は、空間情報取得部20の座標系で生成されたデプス情報を、ロボット40の座標系に変換して用いる。なお、空間情報取得部20の座標系は、事前に動作空間の座標系とキャリブレーションを行なっていてもよい。具体的には、空間情報取得部20の座標系は、例えばカメラ演算による座標系(X_CA,Y_CA,Z_CA)として表されるが、カメラ演算による座標系(X_CA,Y_CA,Z_CA)を、動作空間を示す座標系(X,Y,Z)に一致させるようにキャリブレーションしてもよい。なお、空間情報取得部20の座標系の事前のキャリブレーションは行なわなくてもよい。
 ロボット40及びロボット制御装置10の数は、例示されるように1台に限られず2台以上であってもよい。空間情報取得部20の数は、例示されるように、1つの動作空間に対して1台であってもよいし、2台以上であってもよい。以下、各構成部が具体的に説明される。
<ロボット制御装置10>
 ロボット制御装置10は、制御部11と、記憶部12と、インタフェース13とを備える。インタフェース13は、I/F13とも称される。
 制御部11は、ロボット制御装置10の種々の機能を実現するために、少なくとも1つのプロセッサを含んで構成されてよい。プロセッサは、ロボット制御装置10の種々の機能を実現するプログラムを実行しうる。プロセッサは、単一の集積回路として実現されてよい。集積回路は、IC(Integrated Circuit)とも称される。プロセッサは、複数の通信可能に接続された集積回路及びディスクリート回路として実現されてよい。プロセッサは、CPU(Central Processing Unit)を含んで構成されてよい。プロセッサは、DSP(Digital Signal Processor)又はGPU(Graphics Processing Unit)を含んで構成されてもよい。プロセッサは、他の種々の既知の技術に基づいて実現されてよい。
 記憶部12は、磁気ディスク等の電磁記憶媒体を含んで構成されてよいし、半導体メモリ又は磁気メモリ等のメモリを含んで構成されてもよい。記憶部12は、HDD(Hard Disk Drive)として構成されてもよいしSSD(Solid State Drive)として構成されてもよい。記憶部12は、各種情報及び制御部11で実行されるプログラム等を格納する。記憶部12は、制御部11のワークメモリとして機能してよい。制御部11が記憶部12の少なくとも一部を含んで構成されてもよい。
 I/F13は、空間情報取得部20がロボット40の動作空間を撮影した画像を取得して制御部11に出力する。I/F13は、ロボット40の情報を取得して制御部11に出力する。ロボット40の情報は、後述するセンサ48の情報を含む。I/F13は、制御部11からロボット40を制御する情報を取得してロボット40に出力する。I/F13は、空間情報取得部20及びロボット40と有線又は無線で通信可能に構成される通信デバイスを含んで構成されてよい。通信デバイスは、種々の通信規格に基づく通信方式で通信可能に構成されてよい。通信デバイスは、既知の通信技術により構成することができる。通信デバイスのハードウェア等の詳細な説明は省略される。通信デバイスの機能は、1つの通信インタフェースによって実現されてもよいし、接続先別にそれぞれ別体の通信インタフェースによって実現されてもよい。制御部11が空間情報取得部20及びロボット40と通信可能に構成されてもよい。制御部11が通信デバイスを含んで構成されてもよい。
<ロボット40>
 ロボット40は、図1に例示されるように、センサ48を備える。また、ロボット40は、図2に例示されるように、アーム42と、アーム42に取り付けられるエンドエフェクタ44と、エンドエフェクタ44に設置されているマーク46とを備える。ロボット40は、必須ではないがインタフェース49を更に備える。インタフェース49は、I/F49とも称される。なお、マーク46は、エンドエフェクタ44ではなく、アーム42に設置されていてもよい。
 アーム42は、例えば、6軸又は7軸の垂直多関節ロボットとして構成されてよい。アーム42は、3軸又は4軸の水平多関節ロボット又はスカラロボットとして構成されてもよい。アーム42は、2軸又は3軸の直交ロボットとして構成されてもよい。アーム42は、パラレルリンクロボット等として構成されてもよい。アーム42を構成する軸の数は、例示したものに限られない。
 エンドエフェクタ44は、例えば、作業対象物を把持できるように構成される把持ハンドを含んでよい。把持ハンドは、複数の指を有してよい。把持ハンドの指の数は、2つ以上であってよい。把持ハンドの指は、1つ以上の関節を有してよい。エンドエフェクタ44は、作業対象物を吸着できるように構成される吸着ハンドを含んでもよい。エンドエフェクタ44は、作業対象物を掬うことができるように構成される掬いハンドを含んでもよい。エンドエフェクタ44は、ドリル等の工具を含み、作業対象物に穴を開ける作業等の種々の加工を実施できるように構成されてもよい。エンドエフェクタ44は、これらの例に限られず、他の種々の動作ができるように構成されてよい。センサ情報は、エンドエフェクタ44又はロボット40で制御されてよい。例えば、図1に示されるように、エンドエフェクタ44が制御部440を備えてもよい。また、ロボット40が制御部410を備えてもよい。エンドエフェクタ44の制御部440又はロボット40の制御部410は、センサ情報を取り込んでよい。エンドエフェクタ44の制御部440又はロボット40の制御部410は、センサ情報から推測できる状態情報(例えば位置ずれ量又は接触量等)をロボット制御装置10に出力してよい。センサ情報は、ロボット制御装置10の側で扱われてもよいし、ロボット40の制御部410で扱われてもよいし、エンドエフェクタ44の制御部440で扱われてもよい。
 図3に示されるように、本実施形態に係るロボット40のエンドエフェクタ44は、把持ハンドとして構成され、第1指441と、第2指442と、駆動部443とを備える。なお、把持ハンドまたは吸着ハンドとして構成されるエンドエフェクタ44において、エンドエフェクタ44が備える指又は吸着ノズルの数は、2本に限られず、1本であってもよいし3本以上であってもよい。図3において、エンドエフェクタ44による作業対象物は、測定対象物52として表されている。エンドエフェクタ44は、少なくとも1本の指又は吸着ノズル等の保持部で測定対象物52に接触するように構成される。エンドエフェクタ44は、3本以上の指又は吸着ノズル等の保持部で測定対象物52を保持するように構成されてもよい。
 ロボット40は、アーム42を動作させることによって、エンドエフェクタ44の位置を制御できる。エンドエフェクタ44は、作業対象物に対して作用する方向の基準となる軸を有してもよい。エンドエフェクタ44が軸を有する場合、ロボット40は、アーム42を動作させることによって、エンドエフェクタ44の軸の方向を制御できる。ロボット40は、エンドエフェクタ44が作業対象物に作用する動作の開始及び終了を制御する。ロボット40は、エンドエフェクタ44の位置、又は、エンドエフェクタ44の軸の方向を制御しつつ、エンドエフェクタ44の動作を制御することによって、作業対象物を動かしたり加工したりすることができる。
 センサ48は、ロボット40の各構成部の状態を検出する。センサ48は、ロボット40の各構成部の現実の位置若しくは姿勢、又は、ロボット40の各構成部の速度若しくは加速度に関する情報を検出してよい。センサ48は、ロボット40の各構成部に作用する荷重を検出してもよい。センサ48は、ロボット40の各構成部を駆動するモータに流れる電流又はモータのトルクを検出してもよい。センサ48は、ロボット40の実際の動作の結果として得られる情報を検出できる。センサ48は、ロボット40と他の物体のとの距離を検出してもよい。ロボット制御装置10は、センサ48の検出結果を取得することによって、ロボット40の実際の動作の結果を把握することができる。つまり、ロボット制御装置10は、センサ48の検出結果に基づいてロボット40の状態を取得できる。
 センサ48は、エンドエフェクタ44が作業対象物に接触した場合にエンドエフェクタ44に作用する荷重の方向又は大きさを検出する力覚センサ444を含む。力覚センサ444は、エンドエフェクタ44に搭載されているとする。力覚センサ444は、例えばひずみゲージを含んで構成されてよいがこれに限られない。
 センサ48は、必須ではないが触覚センサ445を更に含む。触覚センサ445は、第1指441又は第2指442に搭載されているとする。触覚センサ445は、例えば圧力センサを含んで構成されてよいがこれに限られない。
 センサ48は、距離センサを更に含むでもよい。距離センサは、例えば、エンドエフェクタ44の先端に設けられていてもよい。具体的には、距離センサは、第1指441又は第2指442に搭載されていてもよい。
 ロボット制御装置10は、空間情報取得部20でマーク46を撮影した画像に基づいてマーク46の位置、又は、マーク46が設置されているエンドエフェクタ44の位置を認識する。また、ロボット制御装置10は、空間情報取得部20でマーク46を撮影した画像に基づいてロボット40の状態を認識する。ロボット制御装置10は、センサ48の検出結果に基づいて取得したロボット40の状態と、マーク46を写した画像に基づいて取得したロボット40の状態とを比較することによって、ロボット40のキャリブレーションを実行できる。
<空間情報取得部20>
 空間情報取得部20は、ロボット40の動作空間に関する空間情報を取得する。空間情報取得部20は、動作空間を撮影し、空間情報として動作空間の画像を取得してよい。空間情報取得部20は、図2に例示されるように、動作空間に存在する物体50又は測定対象物52等の作業対象物を撮影してよい。空間情報取得部20は、カメラとして構成されてよい。3Dステレオカメラは、動作空間に存在する物体50を撮影し、動作空間に存在する物体50の表面に位置する測定点までの距離をデプスとして算出し、デプス情報を生成する。空間情報取得部20は、3Dステレオカメラとして構成されてもよい。空間情報取得部20は、LiDAR(light detection and ranging)として構成されてもよい。LiDARは、動作空間に存在する物体50の表面に位置する測定点までの距離を測定し、デプス情報を生成する。つまり、空間情報取得部20は、空間情報として動作空間のデプス情報を取得してよい。空間情報取得部20は、これらに限られず種々のデバイスとして構成されてもよい。空間情報取得部20は、空間情報として、動作空間の画像又はデプス情報に限られず他の種々の情報を取得してよい。空間情報取得部20は、撮像素子を備えてよい。空間情報取得部20は、光学系を更に備えてよい。空間情報取得部20は、動作空間を撮影した画像をロボット制御装置10に出力してよい。空間情報取得部20は、ロボット40の動作空間におけるデプス情報を生成してロボット制御装置10に出力してもよい。空間情報取得部20は、ロボット40の動作空間における点群情報を生成してロボット制御装置10に出力してもよい。すなわち、空間情報を、点群データの形式で出力してもよい。言い換えれば、点群情報は、空間情報を有していてもよい。点群情報は、動作空間に存在する物体50の表面に位置する各測定点の集合の情報であり、各測定点の座標情報又は色情報を含む情報である。点群情報は、測定空間内の物体50を複数の点で表すデータであるともいえる。空間情報が点群データの形式であることによって、空間情報取得部20で取得された初期データに基づく空間情報よりも、データ密度を小さくすることができる。
 空間情報取得部20は、FOV(Field Of View)を有する。FOVは、空間情報取得部20の撮影範囲に対応する。空間情報取得部20は、FOVに含まれる範囲を撮影できる。空間情報取得部20の実視野サイズは、空間情報取得部20のFOVと、デプス情報とに基づいて定まる。ロボット制御装置10は、空間情報取得部20の実視野サイズと、空間情報取得部20がロボット40のマーク46を写すように撮影した画像等を含む空間情報とに基づいて、ロボット40のマーク46の位置及び姿勢を取得できる。具体的に、ロボット制御装置10は、マーク46を写した画像等を含む空間情報を所定のアルゴリズムで解析することによって、画像等を含む空間情報に基づいてマーク46の位置及び姿勢を算出できる。所定のアルゴリズムは、例えば、数式又はテーブル等を含んでよいし、演算処理を特定するプログラムを含んでもよい。所定のアルゴリズムは、画像等を含む空間情報に基づく算出結果を補正するためのパラメータを含んでもよい。
(ロボット制御装置10の動作例)
 ロボット制御装置10は、動作空間に存在する物体50又は測定対象物52等の作業対象物に作用するようにロボット40を動作させたり、物体50又は測定対象物52等を避けるようにロボット40を動作させたりする。ロボット制御装置10は、物体50又は測定対象物52等を空間情報取得部20で写した撮影画像に基づいて、物体50又は測定対象物52等の作業対象物に作用したり物体50又は測定対象物52等を避けたりするようにロボット40を動作させる。
<キャリブレーション>
 ロボット制御装置10の制御部11は、空間情報取得部20の撮影画像に写ったマーク46の位置及び姿勢に基づいてロボット40の状態を取得し、ロボット40と物体50又は測定対象物52等との位置関係を取得できる。一方で、制御部11は、ロボット40のセンサ48に基づいてロボット40の状態を取得する。ロボット40のセンサ48に基づく状態は、空間情報取得部20の撮影画像に基づく状態よりもロボット40の位置及び姿勢を高精度に表す。したがって、制御部11は、空間情報取得部20の撮影画像に基づくロボット40の状態を、ロボット40のセンサ48に基づくロボット40の状態に一致させることによって、ロボット40を動作空間において高精度で制御できる。空間情報取得部20の撮影画像等を含む空間情報に基づくロボット40の状態を、ロボット40のセンサ48に基づくロボット40の状態に一致させる作業は、第1キャリブレーションとも称される。制御部11は、第1キャリブレーションを少なくとも1回実行する。具体的に、制御部11は、空間情報取得部20で(X_CA,Y_CA,Z_CA)座標系で生成されたデプス情報をロボット40の(X_RB,Y_RB,Z_RB)座標系に一致させるように第1キャリブレーションを実行する。言い換えれば、制御部11は、第1キャリブレーションを実行することによって、空間情報取得部20の座標系をロボット40の座標系に変換することができるようになる。制御部11は、空間情報取得部20の座標系とロボット40の座標系との相対位置関係を推定し、推定した相対位置関係に基づいて空間情報取得部20の座標系をロボット40の座標系に合わせてよい。
 制御部11は、空間情報取得部20のFOVの少なくとも一部を範囲として第1キャリブレーションを実行してよい。本実施形態において、制御部11は、図2に示されるキャリブレーション範囲60において第1キャリブレーションを実行する。キャリブレーション範囲60は、図2において二点鎖線で囲まれた領域として示されている。キャリブレーション範囲60は、ロボット40の第1キャリブレーションを実行する範囲に対応する。キャリブレーション範囲60は、ロボット40の作業領域を含んでよい。キャリブレーション範囲60は、ロボット40の作業領域とFOVとが重なる範囲であってよい。
 また、制御部11は、キャリブレーション範囲60の中に、ロボット40のマーク46を移動させることによって第1キャリブレーションを実行するための点を設定する。第1キャリブレーションを実行するための点は、キャリブレーション位置とも称される。制御部11は、ロボット40のマーク46をキャリブレーション位置に移動させて空間情報取得部20によってマーク46を撮影させる。制御部11は、マーク46を写した画像等を含む空間情報に基づいてマーク46の位置及び姿勢を算出する。制御部11は、ロボット40のセンサ48の検出結果に基づいて定まるマーク46の位置及び姿勢に対して、画像等を含む空間情報に基づいて算出したマーク46の位置及び姿勢を一致させるように、画像等を含む空間情報に基づくマーク46の位置及び姿勢を補正する。画像等を含む空間情報に基づくマーク46の位置及び姿勢の補正が第1キャリブレーションに対応する。マーク46の位置及び姿勢は、マーク位置姿勢とも称される。第1キャリブレーションは、マーク位置姿勢の補正に対応する。キャリブレーション位置は、マーク位置姿勢を補正する位置に対応する。
 具体的に、制御部11は、以下説明するように第1キャリブレーションを実行してよい。制御部11は、ロボット40のマーク46をキャリブレーション位置に移動させるためのロボット40の制御情報を生成する。制御部11は、制御情報に基づいてロボット40を動作させ、ロボット40のマーク46をキャリブレーション位置に移動させる。制御部11は、マーク46を写した画像等を含む空間情報を空間情報取得部20から取得する。制御部11は、画像等を含む空間情報に基づいてマーク46の位置及び姿勢を算出する。画像等を含む空間情報に基づいて算出したマーク46の位置及び姿勢は、画像等を含む空間情報に基づくマーク位置姿勢とも称される。制御部11は、ロボット40のセンサ48の検出結果に基づいて定まるマーク46の位置及び姿勢を算出する。センサ48の検出結果に基づいて算出したマーク46の位置及び姿勢は、センサ48に基づくマーク位置姿勢とも称される。制御部11は、画像等を含む空間情報に基づくマーク位置姿勢と、センサ48に基づくマーク位置姿勢とを比較する。制御部11は、画像等を含む空間情報に基づくマーク位置姿勢がセンサ48に基づくマーク位置姿勢に一致するように、画像等を含む空間情報に基づくマーク位置姿勢を補正する。制御部11は、画像等を含む空間情報に基づくマーク位置姿勢を算出するアルゴリズムを補正してよい。制御部11は、アルゴリズムに含まれるパラメータを補正してよいし、数式、テーブル又はプログラムを補正してもよい。複数のキャリブレーション位置が設定されている場合、制御部11は、各キャリブレーション位置にロボット40を移動させ、各キャリブレーション位置においてマーク46を写した画像等を含む空間情報を取得し、画像等を含む空間情報に基づくマーク位置姿勢を補正する。
<<キャリブレーションアイテム>>
 制御部11は、第1キャリブレーションを実行する前に、あらかじめキャリブレーション範囲60を設定する。また、制御部11は、キャリブレーション範囲60に含まれるキャリブレーション位置を設定する。制御部11は、キャリブレーション範囲60の中にキャリブレーション位置を設定する。
 制御部11は、キャリブレーション位置にロボット40を移動させるようにロボット40の制御情報を生成する。制御部11は、ロボット40をキャリブレーション位置に移動させたときのマーク位置姿勢とロボット40のマーク46の認識結果とを特定する情報をキャリブレーションアイテムとして生成する。なお、キャリブレーションアイテムは、例えば、座標情報である。具体的には、キャリブレーションアイテムは、例えば、ロボット40をキャリブレーション位置に移動させたときのロボット40のセンサ48の検出結果に基づくマーク位置姿勢を示す座標情報、又は空間情報取得部20によって認識されたマーク46の認識結果に基づくマーク位置姿勢を示す座標情報などである。
 制御部11は、以下に説明するようにキャリブレーションアイテムを生成してよい。
 制御部11は、例えば空間情報取得部20から空間情報取得部20の実視野サイズに関する情報、又は、FOVに関する情報を取得する。制御部11は、空間情報取得部20の実視野サイズ又はFOVとロボット40の作業領域とに基づいて、キャリブレーション範囲60を設定する。制御部11は、ロボット40の動作空間における物体50又は測定対象物52等の位置に基づいてキャリブレーション範囲60を設定してよい。制御部11は、空間情報取得部20で検出した物体50又は測定対象物52等のデプス情報又は点群情報に基づいて、キャリブレーション範囲60を設定してよい。図2において、キャリブレーション範囲60の形状は、四角錐台形状に設定されている。キャリブレーション範囲60の形状は、これらに限られず他の種々の形状に設定されてよい。
 制御部11は、ロボット40のセンサ48に基づくマーク位置姿勢と、空間情報取得部20の画像に基づくマーク位置姿勢とを一致させる。具体的に、制御部11は、ロボット40を第1位置に移動させる。制御部11は、ロボット40のマーク46が所定の位置及び姿勢となるようにロボット40を動作させる制御情報を生成し、制御情報に基づいてロボット40を制御することによってロボット40を第1位置に移動させる。第1位置は、空間情報取得部20のFOVに含まれる所定の位置であってよい。第1位置は、例えば空間情報取得部20のFOVの中心位置であってよい。制御部11は、ロボット40が第1位置に移動したときのマーク46の画像を取得し、マーク46の位置及び姿勢を画像に基づくマーク位置姿勢として算出する。また、制御部11は、センサ48に基づくマーク位置姿勢を算出する。制御部11は、画像に基づくマーク位置姿勢と、センサ48に基づくマーク位置姿勢との比較に基づいて、ロボット40の位置が画像内においてセンサ48の検出結果に基づく第1位置となるようにロボット40の制御情報を補正する。制御部11は、補正した制御情報に基づいてロボット40を動かすことによって、ロボット40の座標系におけるロボット40の位置と空間情報取得部20の座標系におけるロボット40の位置とが一致するようにロボット40の状態を更新する。つまり、制御部11は、ロボット40の位置が画像内において第1位置になるようにロボット40の状態を更新するともいえる。
 制御部11は、キャリブレーション範囲60の中で、第1位置とは異なるキャリブレーション位置の候補となる位置を生成してもよい。キャリブレーション位置の候補となる位置は、第2位置とも称される。第2位置は、キャリブレーション範囲60に含まれる。制御部11は、ロボット40の動作をシミュレーションすることによって、ロボット40が第2位置に移動した場合のロボット40の状態を推定する。つまり、制御部11は、ロボット40が第2位置に移動すると仮定した場合のロボット40の状態を算出する。その結果、制御部11は、ロボット40が第2位置に移動可能か否かを判定することができる。
 制御部11は、第2位置に移動すると仮定した場合のロボット40の状態が物体50又は測定対象物52等に接触しない状態であり、関節可動域内である状態であり、かつ、特異点でない状態である場合、第2位置をキャリブレーション位置として登録する。制御部11は、第2位置をキャリブレーション位置として登録する場合、ロボット40を第2位置に移動させたときのロボット40のセンサ48の検出結果に基づくマーク位置姿勢とロボット40のマーク46の認識結果に基づく先端位置姿勢とのそれぞれを特定する情報を複数のキャリブレーションアイテムとして生成する。制御部11は、第2位置をキャリブレーション位置として登録しない場合、新たに異なる位置の第2位置を生成し、新たな第2位置をキャリブレーション位置として登録できるか判定してもよい。制御部11は、ロボット40の関節の角度を表す数値が可動域内である場合、ロボット40の状態が関節制限でない状態であると判定してもよい。制御部11は、ロボット40の関節の角度を表す数値が可動域外である場合、ロボット40の状態が関節制限状態であると判定してもよい。
 特異点は、ロボット40の構造的にロボット40を制御できなくなる姿勢に対応する。ロボット40を動作させる軌道に特異点が含まれている場合、ロボット40は特異点付近において高速に移動(暴走)し、特異点で停止してしまう。ロボット40の特異点は、以下の(1)~(3)の3種類である。
(1)作業領域の外側限界の近くまでにロボット40を制御するときの作業領域外の点。(作業領域は、ロボット40の動作空間に対応する領域である。)
(2)作業領域内であっても、ロボットベースの真上と真下にロボット40を制御するときの点。
(3)ロボット40のアーム42の先端の関節より1つ前の関節角度がゼロ又は180度になる点(手首整列特異点)。
 制御部11は、ロボット40の状態を表す数値が特異点となる状態を表す数値に一致した場合に、ロボット40の状態が特異点の状態であると判定してもよい。制御部11は、ロボット40の状態を表す数値と特異点となる状態を表す数値との差が所定値未満である場合に、ロボット40の状態が特異点の状態であると判定してもよい。ロボット40の状態を表す数値は、例えばアーム42の関節の角度を含んでもよいし、ロボット40を駆動するモータのトルクを含んでもよい。
 以上述べてきたように、制御部11は、キャリブレーション範囲60を設定し、キャリブレーション範囲60の中で第1位置及び第2位置のキャリブレーション位置を設定する。また、制御部11は、ロボット40をキャリブレーション位置に移動させたときのロボット40のマーク位置姿勢を特定する情報としてキャリブレーションアイテムを生成できる。
<<キャリブレーションの実行>>
 制御部11は、マーク46の認識結果に関する先端位置姿勢のキャリブレーションアイテムが、ロボット40のセンサ48の検出結果に関するマーク位置姿勢のキャリブレーションアイテムに一致するように第1キャリブレーションを実行する。具体的に、制御部11は、キャリブレーション位置にロボット40を移動させる。制御部11は、空間情報取得部20によって、ロボット40がキャリブレーション位置に移動したときのロボット40のマーク46の認識結果を取得する。制御部11は、ロボット40のセンサ48に基づくマーク位置姿勢のキャリブレーションアイテムに対する、マーク46の認識結果として取得されたマーク位置姿勢のキャリブレーションアイテムの相対位置関係を算出する。相対位置関係は、両者のキャリブレーションアイテムで特定されるマーク位置姿勢とマーク46の認識結果との間の座標の差及び角度の差に対応する。制御部11は、両者のキャリブレーションアイテムに対する相対位置関係に対応する座標の誤差及び角度の誤差がゼロ又はゼロに近くなるように(つまり、誤差が所定値未満になるように)空間情報取得部20の座標系を補正してロボット40の座標系に合わせる。このようにすることで、制御部11は、ロボット40がキャリブレーション位置に移動したときのマーク46の認識結果をロボット40のセンサ48で特定されるマーク位置姿勢に一致させることによって、相対位置関係を算出できる。
 制御部11は、キャリブレーションアイテムを生成することによって、キャリブレーション位置を設定できる。逆に言えば、キャリブレーション位置は、キャリブレーションアイテムを生成するためにロボット40を移動させる位置に対応する。制御部11は、キャリブレーションアイテムをロボット40の制御に適用することによってロボット40をキャリブレーション位置に移動させてキャリブレーションを実行できる。具体的に、制御部11は、第1キャリブレーションを実行することによって空間情報取得部20の(X_CA,Y_CA,Z_CA)座標系を補正してロボット40の(X_RB,Y_RB,Z_RB)座標系に一致させるとする。制御部11は、第1キャリブレーションを実行することによって空間情報取得部20の座標系とロボット40の座標系との関係を特定してもよい。
 制御部11は、第1キャリブレーションの精度を高めるために、ロボット40の動作空間に配置されたピン等の測定対象物52を用いて、さらにキャリブレーションを行なってもよい。第1キャリブレーションの精度を高めるために測定対象物52を用いて実行されるキャリブレーションは、第2キャリブレーションとも称される。
 具体的に、制御部11は、空間情報取得部20の画像に基づいて測定対象物52を認識し、測定対象物52の位置を取得する。制御部11は、測定対象物52を写した画像の画像認識によって測定対象物52を認識してよい。測定対象物52は、測定対象物52の位置を画像で認識するための測定対象物マークを有してもよい。測定対象物52に付されるマークは、ロボット40に搭載されているマーク46と同一に構成されてよく、例えば、本開示では、対象物マークをマーク46と表することがある。制御部11は、測定対象物52の測定対象物マークを写した画像に基づいて測定対象物52の位置を取得してもよい。本実施形態においては、制御部11は、測定対象物52にエンドエフェクタ44の第1指441又は第2指442を押し当てる。制御部11は、力覚センサ444又は触覚センサ445によって測定対象物52から第1指441又は第2指442に作用する荷重を検出する。制御部11は、力覚センサ444又は触覚センサ445の検出結果に基づいて測定対象物52の位置を算出する。制御部11は、測定対象物52の位置の算出結果に基づいて、ロボット40の動作に影響する座標系を補正の可否を推定してもよく、補正が可能で場合には座標系を補正してもよい。なお、後述するように、手動操作によって測定対象物52にロボット40が接触させた状態で第2キャリブレーションが実行されることがある。
<<<座標系の補正>>>
 動作空間に配置される測定対象物52の数は、1つに限られず2つ以上であってよい。つまり、動作空間に、1又は複数の測定対象物52が配置されてよい。制御部11は、動作空間画像に写っている1又は複数の測定対象物52を検出して、空間情報取得部20の座標系における各測定対象物52の座標を取得する。また、制御部11は、各測定対象物52に対するエンドエフェクタ44の位置情報に基づいて、各測定対象物52の座標を取得する。具体的には、本実施形態では、エンドエフェクタ44を接触させてエンドエフェクタ44に作用する荷重の検出結果に基づいて、荷重を検出している間は、各測定対象物52に対するエンドエフェクタ44の位置は0(ゼロ)又は一定の距離であるとして、ロボット40の座標系における各測定対象物52の座標を取得する。制御部11は、空間情報取得部20の座標系における各測定対象物52の座標と、ロボット40の座標系における各測定対象物52の座標とに基づいて、空間情報取得部20の座標系又はロボット40の座標系を補正することによって、第2キャリブレーションを行なってもよい。具体的には、例えば、空間情報取得部20で(X_CA,Y_CA,Z_CA)座標系で生成されたデプス情報をロボット40の(X_RB,Y_RB,Z_RB)座標系に一致させるように座標系を補正してもよい。制御部11は、例えば回転方向又は並進方向に座標系を補正してよい。制御部11は、例えば拡大又は縮小するように座標系を補正してよい。制御部11は、例えば座標系の歪みを補正してもよい。
<<<測定対象物52の構成例>>>
 測定対象物52は、エンドエフェクタ44が接触したときに変形しにくいように構成されてよい。例えばエンドエフェクタ44の接触によって測定対象物52が変形しないように測定対象物52の剛性が高められてもよい。測定対象物52の剛性は、エンドエフェクタ44を測定対象物52に接触させるときにエンドエフェクタ44及び測定対象物52それぞれに作用する荷重の大きさ及び方向に基づいて定められてよい。
 測定対象物52は、第1指441と第2指442とが最も広く開いた状態における第1指441と第2指442との間隔より小さい部分を有するように構成されてよい。このようにすることで、制御部11は、測定対象物52を第1指441と第2指442とで挟むことができる。また、測定対象物52は、空間情報取得部20の画像に写る測定対象物マークを搭載できる大きさで構成されてよい。また、測定対象物52は、空間情報取得部20の画像において位置を認識できる大きさで構成されてよい。
 測定対象物52は、ロボット40が作業を実行する空間に配置されてよい。測定対象物52は、例えば、キャリブレーション範囲60内に位置している。測定対象物52は、エンドエフェクタ44から接触される位置を動かしやすいように構成されてよい。例えば、測定対象物52は、X_RB軸及びY_RB軸に沿って広がる上面を有する作業台70の上に配置された場合に、Z_RB軸方向の高さを調整可能に構成されてよい。測定対象物52は、Z_RB軸方向に積み重ねることができるように、組み立て可能なブロックとして構成されてよい。
<<フローチャート例>>
 ロボット制御装置10の制御部11は、第1キャリブレーションの精度を高めるための第2キャリブレーションを実行するように図4に例示されるフローチャートの手順を含むロボット制御方法を実行してもよい。ロボット制御方法は、制御部11を構成するプロセッサに実行させるロボット制御プログラムとして実現されてもよい。ロボット制御プログラムは、非一時的なコンピュータ読み取り可能な媒体に格納されてよい。
 制御部11は、空間情報取得部20の画像に基づいて測定対象物52を認識する(ステップS1)。制御部11は、ロボット40のエンドエフェクタ44を測定対象物52に接触させる(ステップS2)。制御部11は、エンドエフェクタ44が測定対象物52に接触したときの力覚センサ444又は触覚センサ445の検出結果を取得し、荷重を検出する(ステップS3)。後述するように、ロボット40のエンドエフェクタ44は、手動操作によって測定対象物52に接触することがある。したがって、制御部11は、エンドエフェクタ44が測定対象物52に接触したときの力覚センサ444又は触覚センサ445の検出結果だけでなく、手動操作によって測定対象物52に接触しているときの状態の検出結果を取得してよい。エンドエフェクタ44が測定対象物52に接触したときの力覚センサ444又は触覚センサ445の検出結果と、手動操作によって測定対象物52に接触しているときの状態の検出結果とを合わせて接触情報とも称される。制御部11は、全ての測定対象物52にエンドエフェクタ44を接触させて荷重を検出したか判定する(ステップS4)。制御部11は、全ての測定対象物52で荷重を検出していない場合(ステップS4:NO)、ステップS1の手順に戻り、ステップS1からS3までの手順を繰り返す。なお、本実施形態のおいては、エンドエフェクタ44が測定対象物52に接触させているが、例えば非接触の距離センサ等を使用して測定対象物52に対するエンドエフェクタ44の位置情報が分かれば、エンドエフェクタ44は、測定対象物52に接触させなくてもよい。
 制御部11は、全ての測定対象物52で荷重を検出した場合(ステップS4:YES)、荷重の検出結果に基づいて空間情報取得部20の座標系を補正する(ステップS5)。制御部11は、ステップS5の手順の実行後、図4のフローチャートの手順の実行を終了する。
 制御部11は、ステップS3の手順でエンドエフェクタ44が測定対象物52に接触したときに検出した荷重に基づいて、空間情報取得部20の座標系においてその測定対象物52の位置として認識した座標を補正してもよい。
 制御部11は、図4に例示されるフローチャートの手順を空間情報取得部20の画像に基づくキャリブレーションの後に実行してもよいし、他の手法のキャリブレーションの後に実行してもよい。
<<エンドエフェクタ44を測定対象物52に接触させる態様の例>>
 制御部11は、種々の態様でエンドエフェクタ44を測定対象物52に接触させ、力覚センサ444又は触覚センサ445の検出結果に基づいて測定対象物52の位置を取得する。以下、エンドエフェクタ44を測定対象物52に接触させる態様の例が説明される。なお、この場合、測定対象物52の位置とは、例えば、測定対象物マーク(マーク46)の中心座標又は、測定対象物52のエッジの座標などであってもよい。
 制御部11は、例えば図3に示されるようにエンドエフェクタ44の第1指441と第2指442との間に測定対象物52を挟むように、エンドエフェクタ44を測定対象物52に接触させてよい。この場合、第1指441又は第2指442の内側が測定対象物52に接触する。制御部11は、第1指441又は第2指442に対して測定対象物52から作用する荷重を力覚センサ444で検出した結果と第1指441又は第2指442の位置とに基づいて測定対象物52の位置を算出してよい。制御部11は、第1指441又は第2指442の内側に設置されている触覚センサ445による検出結果に基づいて測定対象物52の位置を算出してもよい。
 図3に示されるように第1指441と第2指442とがX_RB軸に沿って並ぶ場合、制御部11は、第1指441又は第2指442をその内側で測定対象物52に接触させることによって測定対象物52のX_RB軸に沿った位置を算出できる。つまり、制御部11は、測定対象物52の座標のX_RB軸成分を算出できる。制御部11は、第1指441と第2指442とがY_RB軸に沿って並ぶように制御して第1指441又は第2指442をその内側で測定対象物52に接触させることによって、測定対象物52の座標のY_RB軸成分を算出できる。制御部11は、第1指441と第2指442とがZ_RB軸に沿って並ぶように制御して第1指441又は第2指442をその内側で測定対象物52に接触させることによって、測定対象物52の座標のZ_RB軸成分を算出できる。制御部11は、第1指441と第2指442とが3つの軸それぞれに沿って並ぶように制御し、第1指441又は第2指442をその内側で測定対象物52に接触させることによって、測定対象物52の3次元座標を算出できる。制御部11は、第1指441と第2指442とが互いに独立な3つの方向に沿って並ぶように制御し、第1指441又は第2指442をその内側で測定対象物52に接触させることによっても、測定対象物52の3次元座標を算出できる。なお、この場合、例えば、測定対象物52の座標(X_RB,Y_RB,Z_RB)の各成分は、第1指441又は第2指442のそれぞれ座標(X_RB,Y_RB,Z_RB)の各成分の中間値となってもよい。
 制御部11は、例えば図5A、図5B及び図5Cに示されるように、エンドエフェクタ44の第1指441と第2指442とを開いた状態で、第1指441及び第2指442の内側以外の面を測定対象物52に接触させてもよい。第1指441と第2指442とは、X_RB軸方向に並んでいるとする。制御部11は、3つの軸それぞれに沿ってエンドエフェクタ44を移動させて測定対象物52に接触させることによって、測定対象物52の座標を算出できる。制御部11は、互いに独立な3つの方向に沿ってエンドエフェクタ44を移動させて測定対象物52に接触させてもよい。なお、この場合、例えば、1つの吸着ノズルを有するエンドエフェクタ44であっても実現可能である。
 図5Aにおいて、制御部11は、エンドエフェクタ44をX_RB軸の負の方向に移動させ、第1指441の外側(X_RB軸の負方向側)を測定対象物52に接触させている。この場合、制御部11は、第1指441に作用する荷重を力覚センサ444で検出した結果と第1指441の位置とに基づいて測定対象物52のX_RB軸方向の位置を算出できる。第1指441の外側に触覚センサ445が設置されている場合、制御部11は、触覚センサ445の検出結果と第1指441の位置とに基づいて測定対象物52のX_RB軸方向の位置を算出できる。なお、この場合、例えば、測定対象物52の座標のX_RB成分は、第1指441の外側面の座標のX_RB成分に対して、測定対象物52の寸法を考慮して、測定対象物52の幅の半分を足したり、引いたりした値としてよい。
 図5Bにおいて、制御部11は、エンドエフェクタ44をY_RB軸の正の方向に移動させ、第1指441の側面(X_RB軸の負方向側)を測定対象物52に接触させている。この場合、制御部11は、第1指441に作用する荷重を力覚センサ444で検出した結果と第1指441の位置とに基づいて測定対象物52のY_RB軸方向の位置を算出できる。第1指441の側面に触覚センサ445が設置されている場合、制御部11は、触覚センサ445の検出結果と第1指441の位置とに基づいて測定対象物52のY_RB軸方向の位置を算出できる。なお、この場合、例えば、測定対象物52の座標のY_RB成分は、第1指441の側面の座標のY_RB成分に対して、測定対象物52の寸法を考慮して、測定対象物52の幅の半分を足したり、引いたりした値としてよい。
 図5Cにおいて、制御部11は、エンドエフェクタ44をZ_RB軸の負の方向に移動させ、第1指441の先端(Z_RB軸の負方向側)を測定対象物52のZ_RB軸の正の方向の側の面に接触させている。この場合、制御部11は、第1指441に作用する荷重を力覚センサ444で検出した結果と第1指441の位置とに基づいて測定対象物52のZ_RB軸方向の位置を算出できる。第1指441の先端に触覚センサ445が設置されている場合、制御部11は、触覚センサ445の検出結果と第1指441の位置とに基づいて測定対象物52のZ_RB軸方向の位置を算出できる。なお、この場合、例えば、測定対象物52の座標のZ_RB成分は、第1指441の先端面の座標のZ_RB成分と同一としてよい。
 制御部11は、例えば図6A、図6B及び図6Cに示されるように、エンドエフェクタ44の第1指441と第2指442とを閉じた状態で、第1指441又は第2指442を測定対象物52に接触させてもよい。制御部11は、3つの軸それぞれに沿ってエンドエフェクタ44を移動させて測定対象物52に接触させることによって、測定対象物52の座標を算出できる。制御部11は、互いに独立な3つの方向に沿ってエンドエフェクタ44を移動させて測定対象物52に接触させてもよい。なお、下記の例では、3つの軸又は方向のそれぞれの片側のみ接触させている例を説明しているが、3つの軸又は方向のそれぞれの両側から接触させてもよい。
 図6Aにおいて、制御部11は、エンドエフェクタ44をX_RB軸の負の方向に移動させ、第1指441の外側(X_RB軸の負方向側)を測定対象物52に接触させている。この場合、制御部11は、第1指441に作用する荷重を力覚センサ444で検出した結果と第1指441の位置とに基づいて測定対象物52のX_RB軸方向の位置を算出できる。第1指441の外側に触覚センサ445が設置されている場合、制御部11は、触覚センサ445の検出結果と第1指441の位置とに基づいて測定対象物52のX_RB軸方向の位置を算出できる。なお、この場合、例えば、測定対象物52の座標のX_RB成分は、第1指441の外側面の座標のX_RB成分に対して、測定対象物52の寸法を考慮して、測定対象物52の幅の半分を足したり、引いたりした値としてよい。
 図6Bにおいて、制御部11は、エンドエフェクタ44をY_RB軸の正の方向に移動させ、第1指441又は第2指442の側面(X_RB軸の負方向側)を測定対象物52に接触させている。この場合、制御部11は、第1指441又は第2指442に作用する荷重を力覚センサ444で検出した結果と第1指441又は第2指442の位置とに基づいて測定対象物52のY_RB軸方向の位置を算出できる。第1指441又は第2指442の側面に触覚センサ445が設置されている場合、制御部11は、触覚センサ445の検出結果と第1指441又は第2指442の位置とに基づいて測定対象物52のY_RB軸方向の位置を算出できる。なお、この場合、例えば、測定対象物52の座標のY_RB成分は、第1指441の側面の座標のY_RB成分に対して、測定対象物52の寸法を考慮して、測定対象物52の幅の半分を足したり、引いたりした値としてよい。
 図6Cにおいて、制御部11は、エンドエフェクタ44をZ_RB軸の負の方向に移動させ、第1指441又は第2指442の先端(Z_RB軸の負方向側)を測定対象物52に接触させている。この場合、制御部11は、第1指441又は第2指442に作用する荷重を力覚センサ444で検出した結果と第1指441又は第2指442の位置とに基づいて測定対象物52のZ_RB軸方向の位置を算出できる。第1指441又は第2指442の先端に触覚センサ445が設置されている場合、制御部11は、触覚センサ445の検出結果と第1指441又は第2指442の位置とに基づいて測定対象物52のZ_RB軸方向の位置を算出できる。なお、この場合、例えば、測定対象物52の座標のZ_RB成分は、第1指441の先端面の座標のZ_RB成分と同一としてよい。
 制御部11は、例えば図7A、図7B及び図7Cに示されるように、第1指441又は第2指442を測定対象物52のZ_RB軸の正方向側の面に接触させた状態で、エンドエフェクタ44をX_RB軸方向又はY_RB軸方向に移動させてよい。つまり、制御部11は、エンドエフェクタ44を測定対象物52の上面に接触させた状態でエンドエフェクタ44を上面の面方向に移動させてよい。このようにすることで、制御部11は、測定対象物52のZ_RB軸の座標と、X_RB軸又はY_RB軸の座標とをまとめて算出できる。この場合、測定対象物52は、測定対象物52のZ_RB軸の正方向側の面(上面)が動作空間画像に写るように動作空間に配置されてもよい。
 具体的に、制御部11は、第1段階として、第1指441又は第2指442を測定対象物52のZ_RB軸の正方向側の面に接触させる。制御部11は、力覚センサ444又は触覚センサ445の検出結果と第1指441又は第2指442の位置とに基づいて、測定対象物52のZ_RB軸方向の位置を算出できる。
 制御部11は、第2段階として、第1指441又は第2指442をX_RB軸又はY_RB軸に沿って移動させる。第1指441又は第2指442は、X_RB軸又はY_RB軸に沿って移動した結果、測定対象物52のZ_RB軸の正方向側の面から外れる。つまり、第1指441又は第2指442は、測定対象物52のZ_RB軸の正方向側の面に接触しなくなる。制御部11は、第1指441又は第2指442と測定対象物52のZ_RB軸の正方向側の面との接触が無くなることを検出した検出結果に基づいて、測定対象物52のX_RB軸方向又はY_RB軸方向の位置を算出できる。
 制御部11は、力覚センサ444又は触覚センサ445の検出結果に基づいて第1指441又は第2指442に作用するZ_RB軸方向の力の変化を検出してもよい。制御部11は、Z_RB軸方向の力の変化に基づいて、測定対象物52のX_RB軸又はY_RB軸方向の位置を算出できる。制御部11は、例えば、第1指441又は第2指442をX_RB軸方向に移動させるとする。制御部11は、第1指441又は第2指442に対してZ_RB軸方向に作用する荷重が所定値以上減少した場合に、第1指441又は第2指442が測定対象物52のX_RB軸方向の端に到達したと判定してよい。制御部11は、第1指441又は第2指442が測定対象物52のX_RB軸方向の端に到達したと判定した位置を、測定対象物52のX_RB軸方向の位置として算出してよい。
 図7Aにおいて、制御部11は、第1指441又は第2指442を測定対象物52のZ_RB軸の正方向側の面に接触させた状態でエンドエフェクタ44をX_RB軸の正方向に移動させている。この場合、制御部11は、第1指441又は第2指442と測定対象物52に作用する荷重を力覚センサ444又は触覚センサ445で検出した結果と第1指441又は第2指442の位置とに基づいて測定対象物52のZ_RB軸方向の位置を算出できる。さらに、制御部11は、第1指441又は第2指442と測定対象物52との接触が無くなった検出結果と第1指441又は第2指442の位置とに基づいて、測定対象物52のX_RB軸方向の位置を算出できる。
 図7Bにおいて、制御部11は、第1指441又は第2指442を測定対象物52のZ_RB軸の正方向側の面に接触させた状態でエンドエフェクタ44をY_RB軸の正方向に移動させている。この場合、制御部11は、第1指441又は第2指442に作用する荷重を力覚センサ444又は触覚センサ445で検出した結果と第1指441又は第2指442の位置とに基づいて測定対象物52のZ_RB軸方向の位置を算出できる。さらに、制御部11は、第1指441又は第2指442と測定対象物52との接触が無くなった検出結果と第1指441又は第2指442の位置とに基づいて、測定対象物52のY_RB軸方向の位置を算出できる。
 図7Cにおいて、制御部11は、第1指441又は第2指442を測定対象物52のZ_RB軸の正方向側の面に接触させた状態でエンドエフェクタ44をX_RB軸の正方向とY_RB軸の正方向とに同時に移動させている。つまり、制御部11は、第1指441又は第2指442をX_RB軸及びY_RB軸それぞれに対して斜めの方向に移動させている。この場合、制御部11は、第1指441又は第2指442に作用する荷重を力覚センサ444又は触覚センサ445で検出した結果と第1指441又は第2指442の位置とに基づいて測定対象物52のZ_RB軸方向の位置を算出できる。さらに、制御部11は、第1指441又は第2指442と測定対象物52との接触が無くなった検出結果と第1指441又は第2指442の位置とに基づいて、測定対象物52のX_RB軸方向の位置及びY_RB軸方向の位置を算出できる。
 エンドエフェクタ44を測定対象物52に接触させた状態のままで異なる方向に移動させる方法において、第1指441と第2指442とは、図7A、図7B及び図7Cに示されるように閉じた状態であってもよいし開いた状態であってもよい。
 制御部11は、例えば図8に示されるように、第1指441と第2指442とで測定対象物52を挟んだ状態で、第1指441と第2指442とを測定対象物52の外周に沿って移動させるように、エンドエフェクタ44を回転させてよい。この場合、測定対象物52の形状は、円形の上面を有する円柱形状であってよい。制御部11は、第1指441又は第2指442のうち少なくとも1本の指を他の指と近接させるように移動させ、第1指441及び第2指442を測定対象物52に接触させた状態で測定対象物52の周りで回転するようにロボット40を制御してよい。制御部11は、第1指441及び第2指442の内側に設置されている触覚センサ445の検出結果に基づいてエンドエフェクタ44を回転させてよい。制御部11は、第1指441又は第2指442の移動の軌跡に基づいて測定対象物52のX_RB軸方向及びY_RB軸方向の中心座標を算出できる。測定対象物52の形状は、円柱に限られず多角形の上面を有する角柱形状であってもよい。測定対象物52の形状は、これらに限られず他の種々の形状であってよい。測定対象物52は、測定対象物52の上面が動作空間画像に写るように動作空間に配置されてもよい。
 以上述べてきたように、制御部11は、エンドエフェクタ44が測定対象物52の少なくとも1つの面に接触するようにロボット40を制御してよい。制御部11は、エンドエフェクタ44を測定対象物52の少なくとも1つの面に接触させることによって、測定対象物52の位置の検出精度を向上できる。なお、上記の例では、エンドエフェクタ44が測定対象物52に接触していることに基づいて、測定対象物52の座標を求める例を説明したが、エンドエフェクタ44と測定対象物52との位置関係が分かっていれば、エンドエフェクタ44を測定対象物52に接触させなくてもよい。すなわち、エンドエフェクタ44の第1指441に非接触で測定可能な距離センサが搭載されているとすると、第1指441の座標及び第1指441から測定対象物52までの距離によって、上記のように、測定対象物52の座標を算出することは可能である。また、測定対象物52の座標の各成分は、異なるセンサに基づいて算出してもよい。
 制御部11は、測定対象物52の面のうち動作空間画像に写っている面にエンドエフェクタ44が接触するようにロボット40を制御してもよい。このようにすることで、制御部11は、測定対象物52への接触に基づく測定対象物52の位置によって、空間情報取得部20に基づく測定対象物52の位置を補正しやすくなる。その結果、空間情報取得部20の座標系の精度が向上され得る。
 上述してきたロボット制御装置10及びロボット制御方法の実施形態において、第1指441及び第2指442で物体50を把持するように構成されるロボット40の第1キャリブレーション又は第2キャリブレーションが説明された。本実施形態における第2キャリブレーションの態様は、2本の指を有するロボット40だけに適用されるものではなく、3本以上の指を有するロボット40に適用されてもよいし、吸着ノズル又は指等を含む保持部を有するロボット40に適用されてもよい。また、本実施形態における第2キャリブレーションの態様は、保持部の他に測定用の棒等の治具を有するロボット40に適用されてもよい。
(小括)
 以上述べてきたように、本実施形態に係るロボット制御装置10及びロボット制御方法によれば、動作空間に配置された測定対象物52にロボット40を接触させて荷重を検出することによって測定対象物52の座標が検出される。このようにすることで、空間情報取得部20の画像に基づく測定対象物52の座標が、ロボット40の接触に基づく測定対象物52の座標に合わせて補正され得る。また、空間情報取得部20の座標系がロボット40の座標系に合わせて補正され得る。その結果、ロボット40のキャリブレーション精度が向上され得る。
 また、測定対象物52に対するロボット40の接触によって座標又は座標系を補正できることによって、空間情報取得部20におけるデプス情報の算出精度を低くしてもキャリブレーションの精度が確保され得る。その結果、空間情報取得部20のコストが低減され得る。また、空間情報取得部20の構成又は空間情報取得部20の配置の変更によってキャリブレーションの精度に及ぼされる影響が低減され得る。
 また、測定対象物52に対するロボット40の接触によって座標又は座標系を補正できることによって、作業者が目視で確認しなくてもキャリブレーションの精度を確保できる。その結果、作業負荷及び作業コストが低減され得る。また、キャリブレーションの自動化が促進され得る。また、ロボット40の作業空間が均一の高さでなくても座標又は座標系が補正され得る。
 なお、上記の例では、ロボット40を作業台70上に設置している例を説明しているが、ロボット40は、作業台70とは別の支持台上に設置されていてもよい。ロボット40が作業台70とは別の支持台上に位置していたとしても、作業対象物等は作業台70上に設置されているため、動作空間の座標系は、作業台70の座標系でもある。したがって、本開示のキャリブレーションを行なうことによって、たとえロボット40が作業台70上に設置されていなくとも、正確な作業を行なうことができる。
(他の実施形態)
 以下、他の実施形態が説明される。
<第2キャリブレーションを先に行う場合>
 上述してきた実施形態において、ロボット制御装置10の制御部11は、先に、ロボット40の座標系と空間情報取得部20の座標系との間で第1キャリブレーションを行ない、その後に、測定対象物52に基づいて第2キャリブレーションを実行した。しかしながら、本開示の他の実施形態としては、ロボット制御装置10の制御部11は、第2キャリブレーションを先に行なってもよい。
 具体的に、ロボット制御装置10の制御部11は、特定位置に設置された測定対象物52に対して、第1実施形態と同様にして、ロボット40の座標系における測定対象物52の座標を取得して良い。そして、制御部11は、取得したロボット40の座標系における測定対象物52の座標をロボット40の座標系の原点としてロボット座標を補正することで、キャリブレーションを行なってもよい。あるいは、制御部11は、例えば、ユーザの入力などによって、特定場所の動作空間の座標(X,Y,Z)を取得し、入力された動作空間座標に基づき、動作空間の座標系に対してロボット40の座標系を補正し、キャリブレーションを行なってもよい。なお、ロボット40は、手動によって測定対象物52に接触させてもよいし、手動によって測定対象物52の近傍まで移動させた後に、制御部11によって一定方向にロボットを移動させて測定対象物52に接触させてもよい。
 なお、ロボット制御装置10が、ユーザから入力を受け付ける場合、ロボット制御装置10はインタフェース13を介して、ユーザからの入力を取得してもよい。また、この場合、ロボット制御システム1は、さらにロボット制御装置10のインタフェース13に優先又は無線で接続されたユーザインタフェースを有する端末装置を有していてもよい。ユーザインタフェースは、ユーザからの情報を入力し、ユーザへの情報を出力する。ユーザインタフェースは、例えばタッチセンサを含んで構成される。タッチセンサは、ユーザの指又はスタイラスペン等の接触を検出して、その接触位置を特定する。タッチセンサはディスプレイと一体化されて、タッチパネルディスプレイを構成してよい。
 また、ロボット制御システム1が空間情報取得部20としてカメラを備えない場合、制御部11は、キャリブレーションを完了してロボット40の作業を開始してもよい。また、ロボット制御システム1が空間情報取得部20としてカメラを備える場合、制御部11は、空間情報取得部20の座標系と動作空間の座標系とのキャリブレーション、又は、ロボット40の座標系と空間情報取得部20の座標系とのキャリブレーションを実行し、ロボット40の座標系と空間情報取得部20の座標系との変換式を決定してもよい。なお、ロボット40と空間情報取得部20との位置が、最初から固定されている場合、ロボット40の座標系と空間情報取得部20の座標系とのキャリブレーションを行なわなくても、ロボット40の座標系と空間情報取得部20の座標系の変換が可能なため、キャリブレーションは行なわなくてもよい。
<測定対象物52の他の構成例>
 図9Aに例示されるように、測定対象物52は、マーク46を有するように構成されてよい。測定対象物52は、測定対象物マークとして機能するマーク46を有するように構成されてよい。測定対象物52は、測定対象物マークとマーク46とを別々に有するように構成されてよい。
 また、測定対象物52は、例えば、測定対象物52を上面視した時の平面形状が等方性を有しており、上面が平面であってもよい。測定対象物52は、例えば、立方体、直方体、四角柱または三角柱などの多角柱である。測定対象物52として、多角柱などの角又は直線状の辺を含む上面を有する形状を採用する場合、例えば、エンドエフェクタ44を測定対象物52の上面に沿って移動させたときに、測定対象物52の角又は辺の存在によって、座標位置の特定の精度を向上させることができる。このようにすることで、動作空間において第1キャリブレーション及び第2キャリブレーションを実行するための治具が占有する空間が小さくされ得る。
 図9Bに例示されるように、測定対象物52は、マーク46を有しつつ、ロボット40のエンドエフェクタ44によって接触される部分を更に有するように構成されてよい。このようにすることで、測定対象物52の上面が第2キャリブレーションに用いられ得る。その結果、第2キャリブレーションの精度が高められ得る。
 図9Cに例示されるように、測定対象物52は、マーク46を有しないように構成されてよい。ロボット制御システム1が空間情報取得部20としてカメラを備えない場合、図9Cに例示される構成で、手動操作で測定対象物52にロボット40を近づけることによって第2キャリブレーションが実行され得る。
 図9Dに例示されるように、測定対象物52は、円柱状であり、円柱状の上面にマーク46を有するように構成されてよい。このようにすることで、第2キャリブレーションの精度が高められ得る。
<測定対象物52の配置例>
 図10に例示されるように、測定対象物52は、作業台70の上面の対角の位置に配置されてよい。このようにすることで、作業台70の上面の傾き又は歪みがある場合でも、ロボット40の動作空間の座標系において修正され得る。
 本開示に係る実施形態について、諸図面及び実施例に基づき説明してきたが、当業者であれば本開示に基づき種々の変形又は改変を行うことが可能であることに注意されたい。従って、これらの変形又は改変は本開示の範囲に含まれることに留意されたい。例えば、各構成部等に含まれる機能等は論理的に矛盾しないように再配置可能であり、複数の構成部等を1つに組み合わせたり、或いは分割したりすることが可能である。
 本開示に記載された構成要件の全て、及び/又は、開示された全ての方法、又は、処理の全てのステップについては、これらの特徴が相互に排他的である組合せを除き、任意の組合せで組み合わせることができる。また、本開示に記載された特徴の各々は、明示的に否定されない限り、同一の目的、同等の目的、または類似する目的のために働く代替の特徴に置換することができる。したがって、明示的に否定されない限り、開示された特徴の各々は、包括的な一連の同一、又は、均等となる特徴の一例にすぎない。
 さらに、本開示に係る実施形態は、上述した実施形態のいずれの具体的構成にも制限されるものではない。本開示に係る実施形態は、本開示に記載された全ての新規な特徴、又は、それらの組合せ、あるいは記載された全ての新規な方法、又は、処理のステップ、又は、それらの組合せに拡張することができる。
 また、本開示において「第1」及び「第2」等の記載は、当該構成を区別するための識別子である。本開示における「第1」及び「第2」等の記載で区別された構成は、当該構成における番号を交換することができる。例えば、第1キャリブレーションは、第2キャリブレーションと識別子である「第1」と「第2」とを交換することができる。識別子の交換は同時に行われる。識別子の交換後も当該構成は区別される。識別子は削除してよい。識別子を削除した構成は、符号で区別される。本開示における「第1」及び「第2」等の識別子の記載のみに基づいて、当該構成の順序の解釈、小さい番号の識別子が存在することの根拠に利用してはならない。
 1 ロボット制御システム
 10 ロボット制御装置(11:制御部、12:記憶部、13:インタフェース)
 20 空間情報取得部
 40 ロボット(410:制御部、42:アーム、44:エンドエフェクタ、440:制御部、441:第1指、442:第2指、443:駆動部、444:力覚センサ、445:触覚センサ、46:マーク、48:センサ、49:インタフェース)
 50 物体
 52 測定対象物(54:接触可能範囲)
 60 キャリブレーション範囲
 70 作業台

Claims (14)

  1.  センサおよびエンドエフェクタを有するロボットを制御する制御部を備え、
     前記制御部は、
     前記ロボットの動作空間に配された測定対象物に対する前記エンドエフェクタの位置情報を取得し、
     前記位置情報に基づき、ロボットの動作に関する座標系の補正する、
    ロボット制御装置。
  2.  前記制御部は、
     前記動作空間に関する空間情報に基づいて、前記測定対象物の座標を取得し、
     前記測定対象物の座標に基づいて、前記エンドエフェクタを前記測定対象物へ移動させるように前記ロボットを制御し、
     前記エンドエフェクタの前記測定対象物に対する位置情報に基づいて、前記ロボットの動作に関する座標系を補正する、
    請求項1に記載のロボット制御装置。
  3.  前記測定対象物は測定対象物マークを備え、
     前記制御部は、前記測定対象物マークに関する空間情報に基づいて、前記測定対象物の座標を算出する、請求項2に記載のロボット制御装置。
  4.  前記制御部は、複数の前記測定対象物に対する前記エンドエフェクタの位置情報に基づいて、ロボットの動作に関する座標系を補正する、請求項1から3までのいずれか一項に記載のロボット制御装置。
  5.  前記制御部は、前記位置情報として、前記エンドエフェクタを前記測定対象物に接触に基づく接触情報を取得する、請求項1から4までのいずれか一項に記載のロボット制御装置。
  6.  前記制御部は、前記エンドエフェクタを前記測定対象物に接触させた状態で前記エンドエフェクタを移動させることで、前記エンドエフェクタと前記測定対象物との接触が無くなることを検出した情報に基づいて、前記ロボットの動作空間に関する空間情報に基づく座標系を補正する、請求項1から5までのいずれか一項に記載のロボット制御装置。
  7.  前記制御部は、前記エンドエフェクタを前記測定対象物に上面から接触させた状態で前記エンドエフェクタを前記上面の面方向に移動させる、請求項6に記載のロボット制御装置。
  8.  前記エンドエフェクタは保持部を備え、
     前記制御部は、前記保持部を移動させるように前記ロボットを制御することで、前記エンドエフェクタを前記測定対象物に接触させる、請求項1から4までのいずれか一項に記載のロボット制御装置。
  9.  前記制御部は、前記保持部が少なくとも2本の指を含む場合、少なくとも1本の前記指を、他の前記指と近接させるように移動させ、前記測定対象物に接触させた状態で前記測定対象物の周りで回転するように前記ロボットを制御する、請求項8に記載のロボット制御装置。
  10.  前記制御部は、前記エンドエフェクタが前記測定対象物の少なくとも1つの面に接触するように前記ロボットを制御する、請求項1から9までのいずれか一項に記載のロボット制御装置。
  11.  前記制御部は、前記エンドエフェクタが前記測定対象物の面であって前記ロボットの動作空間に関する空間情報に含まれる動作空間画像に写っている面に接触するように前記ロボットを制御する、請求項10に記載のロボット制御装置。
  12.  前記測定対象物の形状は、円形の上面を有する円柱形状、又は、多角形の上面を有する角柱形状であり、
     前記測定対象物は、前記測定対象物の上面が前記ロボットの動作空間に関する空間情報に含まれる動作空間画像に写るように前記動作空間に配置される、請求項1から10までのいずれか一項に記載のロボット制御装置。
  13.  請求項1から12までのいずれか一項に記載のロボット制御装置と、前記ロボットとを備えるロボット制御システム。
  14.  センサ及びエンドエフェクタを有するロボットを制御するロボット制御方法であって、
     前記ロボットの動作空間内に配された測定対象物に対する前記エンドエフェクタの位置情報を取得することと、
     前記位置情報に基づき、前記ロボットの動作に関する座標系を補正することと
    を含む、ロボット制御方法。
PCT/JP2022/029853 2021-08-03 2022-08-03 ロボット制御装置、ロボット制御システム、及びロボット制御方法 WO2023013699A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202280053851.5A CN117769482A (zh) 2021-08-03 2022-08-03 机器人控制设备、机器人控制系统和机器人控制方法
EP22853117.4A EP4382259A1 (en) 2021-08-03 2022-08-03 Robot control device, robot control system, and robot control method
JP2023540395A JPWO2023013699A1 (ja) 2021-08-03 2022-08-03

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-127725 2021-08-03
JP2021127725 2021-08-03

Publications (1)

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

Family

ID=85156013

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/029853 WO2023013699A1 (ja) 2021-08-03 2022-08-03 ロボット制御装置、ロボット制御システム、及びロボット制御方法

Country Status (4)

Country Link
EP (1) EP4382259A1 (ja)
JP (1) JPWO2023013699A1 (ja)
CN (1) CN117769482A (ja)
WO (1) WO2023013699A1 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05301183A (ja) 1992-04-28 1993-11-16 Fujitsu Ltd ロボット制御装置及びロボット制御方法
JP2012011531A (ja) * 2010-07-05 2012-01-19 Yaskawa Electric Corp ロボット装置およびロボット装置による把持方法
JP2015085458A (ja) * 2013-10-31 2015-05-07 セイコーエプソン株式会社 ロボット制御装置、ロボットシステム、及びロボット
JP2016052695A (ja) * 2014-09-03 2016-04-14 キヤノン株式会社 ロボット装置、およびロボット装置の制御方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05301183A (ja) 1992-04-28 1993-11-16 Fujitsu Ltd ロボット制御装置及びロボット制御方法
JP2012011531A (ja) * 2010-07-05 2012-01-19 Yaskawa Electric Corp ロボット装置およびロボット装置による把持方法
JP2015085458A (ja) * 2013-10-31 2015-05-07 セイコーエプソン株式会社 ロボット制御装置、ロボットシステム、及びロボット
JP2016052695A (ja) * 2014-09-03 2016-04-14 キヤノン株式会社 ロボット装置、およびロボット装置の制御方法

Also Published As

Publication number Publication date
EP4382259A1 (en) 2024-06-12
CN117769482A (zh) 2024-03-26
JPWO2023013699A1 (ja) 2023-02-09

Similar Documents

Publication Publication Date Title
JP6966582B2 (ja) ロボットモーション用のビジョンシステムの自動ハンドアイ校正のためのシステム及び方法
US10551821B2 (en) Robot, robot control apparatus and robot system
US9519736B2 (en) Data generation device for vision sensor and detection simulation system
JP5778311B1 (ja) ピッキング装置およびピッキング方法
JP3946711B2 (ja) ロボットシステム
JP6025386B2 (ja) 画像計測装置、画像計測方法及び画像計測プログラム
JP7130927B2 (ja) 制御装置およびロボットシステム
WO2018043525A1 (ja) ロボットシステム、ロボットシステム制御装置、およびロボットシステム制御方法
CN111278608B (zh) 用于3d视觉机器人系统的校准物品
JP2013036988A (ja) 情報処理装置及び情報処理方法
US11123864B2 (en) Motion teaching apparatus, robot system, and motion teaching method
JP6897396B2 (ja) 制御装置、ロボットシステムおよび制御方法
JP2019195885A (ja) 制御装置およびロボットシステム
JP6928015B2 (ja) ロボットシステムおよび座標変換方法
WO2023013740A1 (ja) ロボット制御装置、ロボット制御システム、及びロボット制御方法
JP7112528B2 (ja) 作業座標作成装置
WO2023013699A1 (ja) ロボット制御装置、ロボット制御システム、及びロボット制御方法
CN116852359A (zh) 一种基于机器人手持示教装置的tcp快速标定的装置及方法
US20230321823A1 (en) Robot control device, and robot system
TWI805437B (zh) 機器人點位演算校正系統與校正方法
JP2022142376A (ja) ロボットシステム、およびロボットシステムの制御方法
WO2023013739A1 (ja) ロボット制御装置、ロボット制御システム、及びロボット制御方法
WO2023013698A1 (ja) ロボット制御装置、ロボット制御システム、及びロボット制御方法
CN113524147B (zh) 一种基于3d相机的工业机器人示教系统及方法
JP7509918B2 (ja) 画像処理システム及び画像処理方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22853117

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202280053851.5

Country of ref document: CN

Ref document number: 2023540395

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2022853117

Country of ref document: EP

Effective date: 20240304