Nothing Special   »   [go: up one dir, main page]

WO2024135220A1 - ロボット制御システム - Google Patents

ロボット制御システム Download PDF

Info

Publication number
WO2024135220A1
WO2024135220A1 PCT/JP2023/042090 JP2023042090W WO2024135220A1 WO 2024135220 A1 WO2024135220 A1 WO 2024135220A1 JP 2023042090 W JP2023042090 W JP 2023042090W WO 2024135220 A1 WO2024135220 A1 WO 2024135220A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
camera
recognition unit
control system
recognized
Prior art date
Application number
PCT/JP2023/042090
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 株式会社デンソー
Publication of WO2024135220A1 publication Critical patent/WO2024135220A1/ja

Links

Images

Classifications

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

Definitions

  • This disclosure relates to a robot control system that includes a camera and a robot.
  • Patent Document 1 Conventionally, there is a fixed camera type robot control system that captures images of a workpiece in the work area using a camera attached to a fixed structure installed above the robot's work area, and processes the images captured by the camera to recognize the position of the workpiece (see Patent Document 1).
  • Patent Document 1 also describes an on-hand camera type robot control system in which a camera is attached to the robot.
  • a robot performs work on a work in each of the supply section and the storage section (multiple work areas), such as when the robot picks up a work (object) from a work supply section and carries it to a work storage section to store it.
  • a fixed camera type robot control system requires a camera for each work area.
  • an on-hand camera type robot control system cannot perform work on a work until an image of the work is captured by a camera attached to the robot and the position of the work is recognized, which lengthens the cycle time from picking up the work to storing it.
  • the present disclosure has been made to solve the above problems, and its main objective is to prevent an increase in the number of cameras required and to prevent a longer cycle time, even when a robot works on objects in multiple work areas.
  • the first means for solving the above problem is to A robot that performs work on objects in each of a plurality of work areas; a movable camera that moves separately from the robot and is capable of capturing an image of each of the objects in the plurality of work areas; an object recognition unit capable of recognizing a position of an object based on an image captured by the movable camera from a predetermined position;
  • a robot control system comprising: The movable camera acquires a predetermined image captured by taking a reference object serving as a position reference and the target object in a field of view, the object recognition unit registers in advance a position of the reference object recognized based on an image captured from the predetermined position as a reference position, calculates an amount of deviation of a position of the movable camera from the predetermined position based on the reference position and the position of the reference object recognized based on the predetermined image, and recognizes a position of the target object based on the amount of deviation and the predetermined image;
  • the robot performs an operation on the object based on the
  • the robot works on objects in multiple work areas. Therefore, in order to recognize the position of the object in each of the multiple work areas, it is necessary to capture images of the objects in each of the multiple work areas.
  • the movable camera moves separately from the robot and is capable of capturing images of the objects in each of the multiple work areas.
  • the object recognition unit is then capable of recognizing the position of the object based on an image captured by the movable camera from a predetermined position. Therefore, by moving the movable camera to a predetermined position and capturing images of the objects in each of the multiple work areas, it is possible to recognize the position of the object in each of the multiple work areas. Therefore, even when the robot works on objects in each of the multiple work areas, it is possible to prevent an increase in the number of cameras required.
  • the movable camera also acquires a predetermined image captured with a reference object serving as a position reference and the target object in view. Therefore, the predetermined image includes the reference object and the target object.
  • the object recognition unit preregisters the position of the reference object recognized based on an image captured from a predetermined position as a reference position. Here, if the position of the reference object recognized based on an image captured by the movable camera deviates from the reference position, the amount of deviation is due to the amount of deviation of the position of the movable camera from the predetermined position. Therefore, even if the position of the movable camera deviates from the predetermined position, the object recognition unit can recognize the position of the object based on the captured image by correcting using this amount of deviation.
  • the object recognition unit calculates the amount of deviation of the position of the movable camera from the predetermined position based on the reference position and the position of the reference object recognized based on the predetermined image, and recognizes the position of the target object based on the amount of deviation and the predetermined image. Therefore, even if the movable camera cannot return to the predetermined position accurately, the position of the target object can be accurately recognized. The robot can then accurately perform tasks on the object based on the position of the object recognized by the object recognition unit.
  • the position of an object can be recognized by a movable camera in one work area, while a robot can work on the object in another work area where the position for storing the object has already been recognized.
  • the recognition of the object's position by the movable camera and the work on the object by the robot can be performed in parallel. Therefore, it is possible to prevent the cycle time from starting to recognize the object's position by the movable camera to finishing working on the object from becoming long in multiple work areas.
  • a plurality of the robots are provided, the reference object is provided in each of the work areas of the plurality of robots, and the movable camera is capable of capturing an image of the object in each of the work areas of the plurality of robots.
  • the movable camera moves to a position where the reference object and the target object are in the field of view and acquires the specified image.
  • the object recognition unit can perform a calibration to correct the correspondence between the coordinate system of the movable camera and the coordinate system of the robot, thereby making it possible to recognize the position of the object in the coordinate system of the robot as the position of the object based on an image captured by the movable camera from the specified position.
  • the calibration is performed using a 3D scanner that has a higher accuracy in detecting the position of an object than the movable camera, and the reference position is registered in advance using the 3D scanner.
  • the correspondence between the coordinate system of the movable camera and the coordinate system of the robot can be accurately calibrated.
  • the reference position which is the position of the reference object recognized based on an image captured from the specified position, can be obtained more accurately. Therefore, the amount of deviation of the position of the movable camera from the specified position can be calculated more accurately, and the position of the target object can be recognized more accurately.
  • the robot grasps the object in one of the plurality of work areas, moves the object to another work area, and releases it.
  • a camera is not required for each work area.
  • the robot can grasp the object in a first work area where the position of the object has already been recognized, and a movable camera can recognize the position to place the object in a second work area where the object is released.
  • the object recognition unit calculates the amount of deviation of the position of the movable camera from the predetermined position based on the reference position and the position of the reference object recognized based on the predetermined image, and recognizes the position of the object based on the amount of deviation and the predetermined image, and the robot performs the task of grasping the object based on the position of the object recognized by the object recognition unit.
  • the object recognition unit calculates the amount of deviation of the position of the movable camera from the predetermined position based on the reference position and the position of the reference object recognized based on the predetermined image, and recognizes the position of the object based on the amount of deviation and the predetermined image, and the robot performs the task of moving the object from the one work area to another work area and releasing it based on the position of the object recognized by the object recognition unit.
  • the position of the object can be accurately recognized after grasping, and based on the accurately recognized position of the object, the object can be moved from one work area to another work area and released at an accurate position (placed in an accurate position).
  • the reference object is a block made of an asymmetric polyhedron arranged around the target object.
  • the reference object is a part of the equipment present around the target object.
  • a part of the equipment present around the target object can be used as the reference object, eliminating the need to place a special block or the like as the reference object.
  • FIG. 1 is a schematic diagram of a robot control system
  • FIG. 2 is a flowchart showing an initial setting procedure
  • FIG. 3 is a flow chart showing a control procedure when the robot is in operation.
  • the robot control system 10 includes a robot 20, a camera 30, a slider 40, an object recognition unit 50, and a robot control device 60.
  • the robot 20 is, for example, a single-arm vertical articulated robot.
  • the robot 20 grasps (grabs) the workpiece W in the supply section and moves it to the processing section, where it processes the workpiece W using a cutting machine or the like, and then moves the workpiece W to the storage section and places the workpiece W on each placement section Sn of the storage case H (releases the workpiece W).
  • the robot 20 works on objects in multiple work areas.
  • a grasping tool 22 (work tool) is attached to the tip of the arm section 21 of the robot 20.
  • the workpiece W (target object) is a three-dimensional object of a specified shape. Multiple workpieces W of the same shape are stored in the shipping box Tb in an unaligned state. In other words, the position and orientation of each workpiece W are unspecified.
  • the camera 30 (movable camera) is a binocular camera that captures three-dimensional images.
  • the camera 30 is attached to the movable part 41 of the slider 40.
  • the slider 40 can move the movable part 41 back and forth in a straight line and stop the movable part 41 at any position on the line.
  • the driving state of the slider 40 is controlled, for example, by the object recognition unit 50.
  • the camera 30 is attached to the movable part 41 in an orientation that allows it to move together with the movable part 41 and capture images of the supply part, processing part, and storage part (work area).
  • the viewing angle of the camera 30 is a viewing angle that allows all workpieces W and reference blocks B1 in the transport box Tb to be viewed in the supply part.
  • the viewing angle of the camera 30 is a viewing angle that allows all placement parts Sn and reference blocks B3 in the storage case H to be viewed in the storage part.
  • the reference blocks B1 and B3 serve as positional references, and are, for example, blocks (three-dimensional objects) made of asymmetric polyhedrons (shapes with characteristic features) arranged near (around) the workpiece W and the placement section Sn.
  • the placement section Sn (position for accommodating the object) is formed, for example, as a recess corresponding to the shape of the workpiece W after machining.
  • the camera 30 moves separately from the robot 20 and can capture images of the objects in the multiple work areas.
  • the camera 30 has a function for automatically adjusting the focus position when capturing an image.
  • the camera 30 is moved between a first imaging position P1 and a second imaging position P2.
  • the camera 30 captures a three-dimensional image with all the workpieces W and the reference block B1 in the return box Tb in the same imaging field of view.
  • the camera 30 captures a three-dimensional image with all the placement sections Sn and the reference block B3 in the storage case H in the same imaging field of view.
  • the first imaging position P1 and the second imaging position P2 can be set in advance as positions where the camera 30 can capture images of each work area, or can be set each time based on the three-dimensional image.
  • the object recognition unit 50 includes an image processing unit, a storage unit, an input/output interface, and the like.
  • the object recognition unit 50 performs calibration to calibrate the correspondence between the coordinate system of the camera 30 and the coordinate system of the robot 20.
  • the object recognition unit 50 performs calibration while the camera 30 is moved to the first image capture position P1 and the second image capture position P2 (predetermined positions).
  • a predetermined marker B2 is attached to the tip of the arm unit 21 of the robot 20, and the marker B2 is captured by the camera 30 while the arm unit 21 is operating.
  • a calibration board on which a predetermined dot pattern or the like is printed, or a block similar to the above-mentioned reference blocks B1 and B3, or the like can be used.
  • the object recognition unit 50 acquires parameters for converting the position and orientation (position) of the object in the coordinate system of the camera 30 recognized based on the image captured by the camera 30 from the image capture position during calibration into the position and orientation (position) of the object in the coordinate system of the robot 20.
  • the parameters include information on the first image capture position P1 and the second image capture position P2. That is, by performing calibration, the object recognition unit 50 is able to recognize the position and orientation of an object in the coordinate system of the robot 20 as the position and orientation of the object based on an image captured by the camera 30 from a predetermined position.
  • the position and orientation of an object in the coordinate system of the robot 20 may be simply referred to as the position and orientation of the object.
  • the object recognition unit 50 recognizes (calculates) the position and orientation of an object using a three-dimensional image (three-dimensional image data) acquired by the camera 30. Specifically, the object recognition unit 50 calculates the position, orientation (direction), etc. of the object from the three-dimensional image acquired by the camera 30. The object recognition unit 50 recognizes the positions and orientations of the workpiece W, the reference blocks B1 and B3, and the placement section Sn in the storage case H based on the three-dimensional image.
  • the robot control device 60 is equipped with a CPU, ROM, RAM, and an input/output interface, etc.
  • the robot control device 60 controls the swing and rotation of the arm portion 21 of the robot 20, the operation of the gripping tool 22, etc.
  • the robot control device 60 controls each operation of the robot 20 based on the position and orientation of the workpiece W recognized by the object recognition unit 50. Note that each operation of the robot 20 is taught in advance and stored in the robot control device 60, so the robot control device 60 automatically corrects the teaching data based on the position and orientation of the workpiece W calculated by the object recognition unit 50.
  • the robot 20 and the camera 30 are calibrated (S10). Specifically, the above calibration is performed with the camera 30 moved to the first imaging position P1 by the slider 40. At this time, the three-dimensional image captured by the camera 30 includes all of the workpieces W and the reference block B1 in the return box Tb. Note that the return box Tb and the reference block B1 may be positioned after the calibration so that the three-dimensional image captured by the camera 30 includes all of the workpieces W and the reference block B1 in the return box Tb.
  • the shape data of the reference block B1 is registered (S11). Specifically, the three-dimensional image captured by the camera 30 is processed to obtain and register the three-dimensional shape data of the reference block B1.
  • the three-dimensional shape data is obtained as point cloud data representing the positions of each point of the object.
  • the positional relationship between the reference block B1 and the camera 30 is acquired (S12). Specifically, the position and orientation of the reference block B1 in the coordinate system of the camera 30 is recognized based on a three-dimensional image of the reference block B1 captured by the camera 30 from the first imaging position P1. The position and orientation (position) of the reference block B1 in the coordinate system of the camera 30 is converted to the position and orientation (position) of the reference block B1 in the coordinate system of the robot 20 using the above parameters. Then, the position and orientation (reference position) of the reference block B1 in the coordinate system of the robot 20 is acquired as the positional relationship between the reference block B1 and the camera 30. In other words, the position and orientation of the reference block B1 recognized based on the three-dimensional image of the reference block B1 captured by the camera 30 from the first imaging position P1 is acquired as the positional relationship between the reference block B1 and the camera 30.
  • the shape data of the target object is registered (S13). Specifically, the three-dimensional image captured by the camera 30 is processed to obtain and register the three-dimensional shape data of the workpiece W. Note that since multiple workpieces W have the same shape, it is sufficient to obtain the three-dimensional shape data of one representative workpiece W.
  • the master data is saved (S14). Specifically, the three-dimensional shape data of the reference block B1, the position and orientation of the reference block B1 in the coordinate system of the robot 20, and the three-dimensional shape data of the workpiece W are saved as master data to be used when the robot 20 is in operation. Then, this series of processes is terminated (END).
  • the object recognition unit 50 also performs the same processes as S10 to S14 above with the camera 30 moved to the second image capture position P2 by the slider 40.
  • the reference block B3 is treated as the reference block
  • the placement section Sn in the storage case H is treated as the target object.
  • the master data is read (S20). Specifically, the master data saved in the initial settings is read.
  • the reference block and the object are in the same imaging field (S21). Specifically, it is determined whether the reference block B1 and all the workpieces W are in the same imaging field (one imaging field). This determination can be made by so-called matching based on the three-dimensional image captured by the camera 30 and the above master data (three-dimensional shape data of the reference block B1 and three-dimensional shape data of the workpieces W). In this determination, if it is determined that the reference block B1 and all the workpieces W are not in the same imaging field (S21: NO), the camera 30 is moved to another imaging position by the slider 40 (S22). Specifically, the movable part 41 of the slider 40 is moved a predetermined amount to one of the linear tracks of the slider 40.
  • the amount of deviation of the movable camera is calculated (S23). Specifically, the amount of deviation of the current position (position) of the camera 30 from the first imaging position P1 is calculated.
  • the amount of deviation corresponds to (is caused by) the amount of deviation of the current position of the camera 30 from the first imaging position P1.
  • the amount of deviation of the current position of the camera 30 from the first imaging position P1 is calculated.
  • the amount of deviation of the movable camera is corrected (S24). Specifically, the parameters for converting the position and orientation (position) of the object in the coordinate system of the camera 30 to the position and orientation (position) of the object in the coordinate system of the robot 20 are corrected based on the amount of deviation (the amount of deviation is reflected in the parameters).
  • the position and orientation (position) of the object is recognized (S25). Specifically, the position and orientation of the workpiece W in the coordinate system of the camera 30 is recognized based on a three-dimensional image of the workpiece W captured by the camera 30 from the current position. At this time, the workpiece W to be grasped is selected from the multiple workpieces W, and the position and orientation of the selected workpiece W is recognized. Then, the position and orientation of the workpiece W in the coordinate system of the camera 30 is converted to the position and orientation of the workpiece W in the coordinate system of the robot 20 using the corrected parameters.
  • the amount of deviation of the current position (position) of the camera 30 from the first imaging position P1 (predetermined position) is calculated, and the position and orientation (position) of the workpiece W is recognized based on the amount of deviation and the predetermined image.
  • the position and orientation (position) of the target object is transmitted to the robot control device 60 (S26).
  • the object recognition unit 50 transmits the recognized position and orientation of the workpiece W to the robot control device 60.
  • the operation of the robot 20 is controlled (S27). Specifically, the robot control device 60 operates the arm unit 21 and the gripping tool 22 to grasp the workpiece W based on the position and orientation of the workpiece W received (performs work on the workpiece W). Meanwhile, while the robot 20 is working in the supply section, the object recognition unit 50 moves the camera 30 to the second image capture position P2 and executes the same processes as S20 to S26 for the reference block B3 and each placement section Sn of the storage case H. After grasping the workpiece W in the supply section, the workpiece W is moved to the processing section and processed by a cutting machine or the like.
  • the workpiece W After processing the workpiece W, the workpiece W is moved to the storage section and the workpiece W is placed on each placement section Sn of the storage case H.
  • the robot control device 60 places the workpiece W on the target placement section Sn based on the position and orientation of each placement section Sn of the storage case H that the robot 20 recognized in advance when working in the supply section. Then, while the robot 20 is working in the storage area, the object recognition unit 50 moves the camera 30 back to the first image capture position P1 and executes the processes of S20 to S26 again. Thereafter, the above processes are repeated until work is completed for all workpieces W.
  • the camera 30 can move separately from the robot 20 and capture images of the workpieces W and the placement portions Sn of the storage cases H in multiple work areas.
  • the object recognition unit 50 can recognize the position of the object based on images captured by the camera 30 from the first imaging position P1 and the second imaging position P2. Therefore, by moving the camera 30 to the first imaging position P1 and the second imaging position P2 to capture images of the workpieces W and the placement portions Sn of the storage cases H in multiple work areas, the positions of the workpieces W and the placement portions Sn of the storage cases H in each of the multiple work areas can be recognized. Therefore, even when the robot 20 works on the workpieces W in each of the multiple work areas, it is possible to prevent an increase in the number of cameras required.
  • the object recognition unit 50 calculates the amount of deviation of the position of the camera 30 from the first imaging position P1 based on the reference position of the reference block B1 recognized based on the three-dimensional image captured from the first imaging position P1 and the position of the reference block B1 recognized based on a specified image captured with the reference block B1 and the workpiece W in the same field of view. Then, the object recognition unit 50 recognizes the position of the workpiece W based on the amount of deviation and the specified image. Therefore, even if the camera 30 cannot return accurately to the first imaging position P1, the position of the workpiece W can be accurately recognized. Then, the robot 20 can accurately perform work on the workpiece W based on the position of the workpiece W recognized by the object recognition unit 50. The same applies to the second imaging position P2, the reference block B3, and the placement portion Sn of the storage case H.
  • the position of the work W can be recognized by the camera 30 in the supply section, and the robot 20 can work on the work W in the storage section where the position of the placement section Sn of the storage case H has already been recognized. That is, the recognition of the position of the work W by the camera 30 and the work on the work W on the placement section Sn by the robot 20 can be performed in parallel. Therefore, in multiple work areas, it is possible to prevent the cycle time from when the camera 30 starts to recognize the position of the work W to when the work on the work W is completed from becoming long. Also, the position of the placement section Sn of the storage case H can be recognized by the camera 30 in the storage section, and the robot 20 can work on the work W in the supply section where the position of the work W has already been recognized.
  • the camera 30 moves to a position where the reference block B1 and the workpiece W are in the same imaging field to acquire a specified image.
  • the camera 30 can move and change its position to acquire a specified image in which the reference block B1 and the workpiece W are in the same imaging field.
  • the robot 20 grasps the workpiece W in the supply section of the multiple work areas, moves the workpiece W to the storage section, and releases it. With this configuration, even when the workpiece W is grasped in one of the multiple work areas and moved to another work area to release (place) it, a camera is not required for each work area. Furthermore, the robot 20 grasps the workpiece W in the supply section, which has already recognized the position of the workpiece W, and the camera 30 can recognize the position of the placement section Sn of the storage case H in the storage section where the workpiece W is released. As a result, the number of cameras required is prevented from increasing, and the cycle time is prevented from becoming longer.
  • the object recognition section 50 calculates the amount of deviation of the current position of the camera 30 from the first imaging position P1 based on the reference position and the position of the reference block B1 recognized based on the specified image, and recognizes the position and orientation of the workpiece W based on the amount of deviation and the specified image.
  • the robot 20 then performs the task of grasping the workpiece W based on the position and orientation of the workpiece W recognized by the object recognition section 50.
  • the reference block B1 is a block consisting of an asymmetric polyhedron arranged around the workpiece W. This configuration makes it easier for the object recognition unit 50 to capture the characteristics of the reference block B1, and therefore makes it easier to recognize the position of the reference block B1.
  • the three-dimensional shape data of the reference blocks B1 and B3 can also be formed by combining the three-dimensional image data captured by the camera 30 at the first imaging position P1 and the second imaging position P2, respectively, with the three-dimensional CAD data of the reference blocks B1 and B3.
  • the three-dimensional shape data of the workpiece W and the mounting portion Sn of the storage case H can also be formed by combining the three-dimensional image data captured by the camera 30 at the first imaging position P1 and the second imaging position P2, respectively, with the three-dimensional CAD data of the workpiece W and the mounting portion Sn.
  • the object recognition unit 50 can also perform calibration using a 3D scanner 70, which has a higher accuracy in detecting the position of an object than the camera 30.
  • the object recognition unit 50 performs calibration with the 3D scanner 70 placed at the first imaging position P1 and the second imaging position P2 (predetermined positions). Then, the position and orientation (reference position) of the reference blocks B1 and B3 recognized based on the three-dimensional images captured by the 3D scanner 70 from the first imaging position P1 and the second imaging position P2, respectively, is acquired and registered as the positional relationship between the reference blocks B1 and B3 and the camera 30.
  • This configuration allows the correspondence between the coordinate system of the camera 30 and the coordinate system of the robot 20 to be accurately calibrated. Furthermore, the reference positions, which are the positions of the reference blocks B1 and B3 recognized based on the images captured from the first imaging position P1 and the second imaging position P2, respectively, can be obtained more accurately. Therefore, the amount of deviation of the position of the camera 30 from the first imaging position P1 and the second imaging position P2 can be calculated more accurately, and the positions of the workpiece W and the placement portion Sn of the storage case H can be recognized more accurately.
  • the object recognition unit 50 may grasp the workpiece W in the supply unit of the multiple work areas, and then calculate the amount of deviation of the current position of the camera 30 from the first imaging position P1 based on the reference position and the position of the reference block B1 recognized based on the specified image, and recognize the position and orientation (position) of the workpiece W based on the amount of deviation and the specified image. Then, after grasping the workpiece W, the robot 20 may move the workpiece W from the supply unit to the storage unit and release it based on the position and orientation of the workpiece W recognized by the object recognition unit 50.
  • the position and orientation of the workpiece W can be accurately recognized after it is grasped, and based on the accurately recognized position and orientation of the workpiece W, the workpiece W can be moved from the supply section to the storage section and released at the correct position (placed at the correct position).
  • the workpiece W after the workpiece W is grasped in the supply section, it is also possible to move the workpiece W from the supply section to the processing section and perform processing based on the position and orientation of the workpiece W recognized by the object recognition section 50.
  • the amount of deviation of the current position of the camera 30 from the first image capture position P1 is calculated. Based on this deviation amount and the information on the first image capture position P1 and the second image capture position P2 contained in the above parameters for converting the coordinates, the current position of the camera 30 is calculated. Then, based on the current position of the camera 30 and the above specified image, the position and orientation (location) of the workpiece W can also be recognized.
  • the robot control system 10 may include multiple robots 20.
  • reference blocks B1, B3 reference objects
  • the camera 30 can capture images of the workpieces W (objects) and the placement portion Sn of the storage case H in the multiple work areas of the multiple robots 20.
  • the movable portion 41 of the slider 40 can move to the multiple work areas of the multiple robots 20.
  • one reference block when one reference block is imaged by the camera 30, if the workpiece W and the placement section Sn of the storage case H are within the imaging field of view, one reference block common to the supply section and storage section may be arranged. And, one reference block may be arranged for each robot 20.
  • a part of the equipment around the work W and the placement portion Sn of the storage case H can also be used as a reference object that serves as a positional reference. It is preferable that the part of the equipment used as the reference object is an object whose position and shape do not change and whose features are easy to recognize by the camera 30. With this configuration, a part of the equipment around the work W and the placement portion Sn of the storage case H can be used as the reference object, eliminating the need to place a special block or the like as the reference object.
  • the object recognition unit 50 may be included in the robot control device 60 or in the camera 30.
  • the robot 20 may be a single-arm horizontal articulated robot.
  • the robot 20 may also be a dual-arm articulated robot.
  • a robot control system (10) comprising: The movable camera acquires a predetermined image captured by taking a reference object (B1) serving as a position reference and the target object in its field of view, the object recognition unit registers in advance a position of the reference object recognized based on an image captured from the predetermined position as a reference position, calculates an amount of deviation of a position of the movable camera from the predetermined position based on the reference position and the position of the reference object recognized based on the predetermined image, and recognizes a
  • [Configuration 6] The robot control system according to any one of configurations 1 to 5, wherein the robot grasps the object in one of the plurality of working areas, moves the object to another working area, and releases the object.
  • the object recognition unit calculates an amount of deviation of a position of the movable camera from a predetermined position based on the reference position and a position of the reference object recognized based on the predetermined image, before grasping the object in one of the plurality of work areas, and recognizes the position of the object based on the amount of deviation and the predetermined image; 7.
  • the object recognition unit after grasping the object in one of the plurality of work areas, calculates an amount of deviation of a position of the movable camera from the predetermined position based on the reference position and a position of the reference object recognized based on the predetermined image, and recognizes the position of the object based on the amount of deviation and the predetermined image;
  • the robot control system according to configuration 6 or 7, wherein the robot performs a task of moving the object from one working area to another working area and releasing it based on the position of the object recognized by the object recognition unit.

Landscapes

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

Abstract

ロボット制御システム(10)は、複数の作業エリアでそれぞれ対象物(W)に対して作業を行うロボット(20)と、ロボットと分離して移動し、複数の作業エリアの対象物をそれぞれ撮像可能な可動式カメラ(30)と、可動式カメラにより所定位置(P1、P2)から撮像された画像に基づいて、物体の位置を認識可能である物体認識部(50)と、を備える。可動式カメラは、基準物(B1)と対象物とを視野に入れて撮像した所定画像を取得する。物体認識部は、所定位置から撮像された画像に基づき認識した基準物の位置を基準位置として予め登録しており、基準位置と所定画像に基づき認識した基準物の位置とに基づいて、可動式カメラの位置の所定位置からのずれ量を算出し、ずれ量と所定画像とに基づいて対象物の位置を認識する。

Description

ロボット制御システム 関連出願の相互参照
 本出願は、2022年12月23日に出願された日本出願番号2022-206736号に基づくもので、ここにその記載内容を援用する。
 本開示は、カメラとロボットとを備えるロボット制御システムに関する。
 従来、ロボットの作業エリアの上方に設置された固定構造物に取り付けられたカメラにより作業エリアのワークを撮像し、カメラにより撮像した画像を処理してワークの位置を認識する固定カメラ式のロボット制御システムがある(特許文献1参照)。また、特許文献1には、カメラをロボットに取り付けたオンハンドカメラ式のロボット制御システムも記載されている。
WO2020/121399号公報
 ところで、ロボットがワーク(対象物)の供給部からワークを取り出し、ワークの収容部までワークを運んで収容する場合等、供給部及び収容部(複数の作業エリア)でそれぞれワークに対して作業を行う場合がある。この場合、固定カメラ式のロボット制御システムでは、作業エリア毎にカメラが必要となる。また、オンハンドカメラ式のロボット制御システムでは、ロボットに取り付けられたカメラによりワークを撮像してワークの位置を認識してからしかワークに対する作業を行えず、ワークの取り出しから収容までのサイクル時間が長くなる。
 本開示は、上記課題を解決するためになされたものであり、その主たる目的は、ロボットが複数の作業エリアでそれぞれ対象物に対して作業を行う場合であっても、必要なカメラの台数が増えることを抑制するとともに、サイクル時間が長くなることを抑制することにある。
 上記課題を解決するための第1の手段は、
 複数の作業エリアでそれぞれ対象物に対して作業を行うロボットと、
 前記ロボットと分離して移動し、前記複数の作業エリアの前記対象物をそれぞれ撮像可能な可動式カメラと、
 前記可動式カメラにより所定位置から撮像された画像に基づいて、物体の位置を認識可能である物体認識部と、
を備えるロボット制御システムであって、
 前記可動式カメラは、位置基準となる基準物と前記対象物とを視野に入れて撮像した所定画像を取得し、
 前記物体認識部は、前記所定位置から撮像された画像に基づき認識した前記基準物の位置を基準位置として予め登録しており、前記基準位置と前記所定画像に基づき認識した前記基準物の位置とに基づいて、前記可動式カメラの位置の前記所定位置からのずれ量を算出し、前記ずれ量と前記所定画像とに基づいて前記対象物の位置を認識し、
 前記ロボットは、前記物体認識部により認識された前記対象物の位置に基づいて、前記対象物に対して作業を行う。
 上記構成によれば、ロボットは、複数の作業エリアでそれぞれ対象物に対して作業を行う。このため、複数の作業エリアでそれぞれ対象物の位置を認識するために、複数の作業エリアの対象物をそれぞれ撮像する必要がある。この点、可動式カメラは、前記ロボットと分離して移動し、前記複数の作業エリアの前記対象物をそれぞれ撮像可能である。そして、物体認識部は、前記可動式カメラにより所定位置から撮像された画像に基づいて、物体の位置を認識可能である。このため、可動式カメラを所定位置に移動させて前記複数の作業エリアの前記対象物をそれぞれ撮像することにより、複数の作業エリアでそれぞれ対象物の位置を認識することができる。したがって、ロボットが複数の作業エリアでそれぞれ対象物に対して作業を行う場合であっても、必要なカメラの台数が増えることを抑制することができる。
 また、前記可動式カメラは、位置基準となる基準物と前記対象物とを視野に入れて撮像した所定画像を取得する。このため、所定画像には、基準物と対象物とが含まれている。前記物体認識部は、所定位置から撮像された画像に基づき認識した前記基準物の位置を基準位置として予め登録している。ここで、前記可動式カメラにより撮像された画像に基づき認識した基準物の位置が基準位置からずれていれば、そのずれ量は前記可動式カメラの位置の前記所定位置からのずれ量に起因している。このため、可動式カメラの位置が所定位置からずれている場合であっても、このずれ量を用いて補正することにより、物体認識部は撮像された画像に基づいて物体の位置を認識することができる。この点、前記物体認識部は、前記基準位置と前記所定画像に基づき認識した前記基準物の位置とに基づいて、前記可動式カメラの位置の前記所定位置からのずれ量を算出し、前記ずれ量と前記所定画像とに基づいて前記対象物の位置を認識する。このため、可動式カメラが所定位置に正確に戻ることができなかった場合でも、対象物の位置を正確に認識することができる。そして、前記ロボットは、前記物体認識部により認識された前記対象物の位置に基づいて、前記対象物に対して正確に作業を行うことができる。
 さらに、例えば1つの作業エリアにおいて可動式カメラにより対象物の位置を認識するとともに、既に対象物を収容する位置を認識した他の作業エリアにおいてロボットにより対象物に対して作業を行うことができる。すなわち、可動式カメラによる対象物の位置の認識と、ロボットによる対象物に対する作業とを並行して行うことができる。したがって、複数の作業エリアにおいて、可動式カメラにより対象物の位置を認識し始めてから対象物に対して作業し終えるまでのサイクル時間が長くなることを抑制することができる。
 第2の手段では、前記ロボットを複数備え、前記基準物は、複数の前記ロボットの前記複数の作業エリアにそれぞれ設けられており、前記可動式カメラは、複数の前記ロボットの前記複数の作業エリアの前記対象物をそれぞれ撮像可能である。こうした構成によれば、1台の可動式カメラにより、複数のロボットの作業における対象物の位置の認識を行うことができる。したがって、必要なカメラの台数をさらに減らすことができる。
 第3の手段では、前記可動式カメラは、視野に前記基準物と前記対象物とが入っていない場合に、視野に前記基準物と前記対象物とが入る位置まで移動して前記所定画像を取得する。こうした構成によれば、視野に前記基準物と前記対象物とが入らない位置に可動式カメラが移動している場合であっても、可動式カメラが移動して位置を変更することにより、基準物と前記対象物とを視野に入れて撮像した所定画像を取得することができる。
 具体的には、第4の手段のように、前記物体認識部は、前記可動式カメラの座標系と前記ロボットの座標系との対応関係を校正するキャリブレーションを行うことにより、前記可動式カメラにより前記所定位置から撮像された画像に基づいて、前記物体の位置として前記ロボットの座標系における物体の位置を認識可能とする、ことができる。
 第5の手段では、前記キャリブレーションは、物体の位置を検出する精度が前記可動式カメラよりも高い3Dスキャナを用いて行われ、前記基準位置は、前記3Dスキャナを用いて予め登録されている。こうした構成によれば、前記可動式カメラの座標系と前記ロボットの座標系との対応関係を正確に校正することができる。さらに、前記所定位置から撮像された画像に基づき認識した前記基準物の位置である基準位置を、より正確に取得することができる。したがって、可動式カメラの位置の所定位置からのずれ量をより正確に算出することができ、ひいては対象物の位置をより正確に認識することができる。
 第6の手段では、前記ロボットは、前記複数の作業エリアのうちの1つの作業エリアにおいて前記対象物を掴み、他の作業エリアまで前記対象物を移動させて離す作業を行う。こうした構成によれば、前記複数の作業エリアのうちの1つの作業エリアにおいて前記対象物を掴み、他の作業エリアまで前記対象物を移動させて離す(置く)作業を行う場合であっても、作業エリア毎にカメラが必要とならない。また、例えば既に対象物の位置を認識した第1作業エリアにおいてロボットにより対象物を掴む作業を行うとともに、対象物を離す第2作業エリアにおいて可動式カメラにより対象物を収容する位置を認識することができる。その結果、必要なカメラの台数が増えることを抑制するとともに、サイクル時間が長くなることを抑制することにある。
 第7の手段では、前記物体認識部は、前記複数の作業エリアのうちの1つの作業エリアにおいて前記対象物を掴む前に、前記基準位置と前記所定画像に基づき認識した前記基準物の位置とに基づいて、前記可動式カメラの位置の前記所定位置からのずれ量を算出し、前記ずれ量と前記所定画像とに基づいて前記対象物の位置を認識し、前記ロボットは、前記物体認識部により認識された前記対象物の位置に基づいて、前記対象物を掴む作業を行う。こうした構成によれば、対象物を掴む前に対象物の位置を正確に認識することができ、正確に認識した対象物の位置に基づいて対象物を正確に掴むことができる。
 1つの作業エリアにおいてロボットが対象物を掴む際に、ロボットと対象物との相対位置にばらつきが生じる。その場合、掴んだ対象物を他の作業エリアまで移動させて離す作業において、対象物を置く位置にばらつきが生じるおそれがある。
 この点、第8の手段では、前記物体認識部は、前記複数の作業エリアのうちの1つの作業エリアにおいて前記対象物を掴んだ後に、前記基準位置と前記所定画像に基づき認識した前記基準物の位置とに基づいて、前記可動式カメラの位置の前記所定位置からのずれ量を算出し、前記ずれ量と前記所定画像とに基づいて前記対象物の位置を認識し、前記ロボットは、前記物体認識部により認識された前記対象物の位置に基づいて、前記1つの作業エリアから他の作業エリアまで前記対象物を移動させて離す作業を行う。こうした構成によれば、対象物を掴んだ後に対象物の位置を正確に認識することができ、正確に認識した対象物の位置に基づいて、1つの作業エリアから他の作業エリアまで対象物を移動させて正確な位置で離す(正確な位置に置く)ことができる。
 第9の手段では、前記基準物は、前記対象物の周囲に配置された非対称の多面体からなるブロックである。こうした構成によれば、物体認識部は、基準物の特徴を捉えやすくなるため、基準物の位置を容易に認識することができる。
 第10の手段では、前記基準物は、前記対象物の周囲に存在する設備の一部である。こうした構成によれば、前記対象物の周囲に存在する設備の一部を基準物として利用することができるため、特別なブロック等を基準物として配置する必要がなくなる。
 本開示についての上記目的およびその他の目的、特徴や利点は、添付の図面を参照しながら下記の詳細な記述により、より明確になる。その図面は、
図1は、ロボット制御システムの模式図であり、 図2は、初期設定の手順を示すフローチャートであり、 図3は、ロボットの稼動時における制御の手順を示すフローチャートである。
 以下、ワークを供給部から取り出し、加工して収容部に収容するロボット制御システムに具現化した一実施形態について、図面を参照しつつ説明する。
 図1に示すように、ロボット制御システム10は、ロボット20、カメラ30、スライダ40、物体認識部50、及びロボット制御装置60等を備えている。
 ロボット20は、例えば単腕の垂直多関節型ロボットである。ロボット20は、供給部においてワークWを把持して(掴んで)加工部へ移動させ、加工部において切削機械等によりワークWを加工した後に、ワークWを収容部へ移動させて収容ケースHの各載置部SnにワークWを置く(ワークWを離す)。すなわち、ロボット20は、複数の作業エリアでそれぞれ対象物に対して作業を行う。ロボット20のアーム部21の先端部には、把持用ツール22(作業ツール)が装着されている。
 ワークW(対象物)は、所定形状の立体物である。同一形状の複数のワークWが、整列していない状態で通箱Tbに収容されている。すなわち、各ワークWの位置及び向きは不特定である。
 カメラ30(可動式カメラ)は、3次元画像を撮像する双眼カメラである。カメラ30は、スライダ40の可動部41に取り付けられている。スライダ40は、可動部41を往復直線移動させ、直線上の任意の位置で可動部41を停止させることができる。スライダ40の駆動状態は、例えば物体認識部50により制御される。カメラ30は、可動部41と共に移動することにより、供給部、加工部、及び収容部(作業エリア)を撮像可能な向きで可動部41に取り付けられている。カメラ30の視野角は、供給部において、通箱Tb内の全てのワークW及び基準ブロックB1を視野に入れることができる視野角である。さらに、カメラ30の視野角は、収容部において、収容ケースH内の全ての載置部Sn及び基準ブロックB3を視野に入れることができる視野角である。基準ブロックB1,B3(基準物)は、位置基準となるものであり、例えばワークW及び載置部Snの付近(周囲)にそれぞれ配置された非対称の多面体(特徴部を備える形状)からなるブロック(立体物)である。載置部Sn(対象物を収容する位置)は、例えば加工後のワークWの形状に対応した凹部として形成されている。すなわち、カメラ30は、ロボット20と分離して移動し、複数の作業エリアの対象物をそれぞれ撮像可能である。カメラ30は、撮像する際に自動的に焦点位置を調整する機能を備えている。
 カメラ30は、第1撮像位置P1と第2撮像位置P2との間で移動させられる。カメラ30は、第1撮像位置P1において、通箱Tb内の全てのワークW及び基準ブロックB1を同じ撮像視野に入れて3次元画像を撮像する。また、カメラ30は、第2撮像位置P2において、収容ケースH内の全ての載置部Sn及び基準ブロックB3を同じ撮像視野に入れて3次元画像を撮像する。なお、第1撮像位置P1,第2撮像位置P2は、カメラ30が各作業エリアを撮像することができる位置として、予め設定しておくことも、3次元画像に基づいてその都度設定することもできる。
 物体認識部50は、画像処理部、記憶部、及び入出力インターフェース等を備えている。物体認識部50は、カメラ30の座標系とロボット20の座標系との対応関係を校正するキャリブレーションを行う。物体認識部50は、第1撮像位置P1及び第2撮像位置P2(所定位置)にカメラ30を移動させた状態で、それぞれキャリブレーションを行う。例えば、ロボット20のアーム部21の先端に、所定のマーカB2を取り付け、アーム部21を動作させながらマーカB2をカメラ30により撮像する。マーカB2として、所定のドットパターン等が印刷されたキャリブレーションボードや、上記の基準ブロックB1,B3と同様のブロック等を採用することができる。これにより、物体認識部50は、カメラ30によりキャリブレーション時の撮像位置から撮像された画像に基づき認識したカメラ30の座標系における物体の位置姿勢(位置)を、ロボット20の座標系における物体の位置姿勢(位置)に変換するためのパラメータを取得する。このパラメータは、第1撮像位置P1及び第2撮像位置P2の情報を含む。すなわち、物体認識部50は、キャリブレーションを行うことにより、カメラ30により所定位置から撮像された画像に基づいて、物体の位置姿勢としてロボット20の座標系における物体の位置姿勢を認識可能とする。以下、ロボット20の座標系における物体の位置姿勢を、単に物体の位置姿勢ということがある。物体認識部50は、カメラ30が取得した3次元画像(3次元画像データ)を用いて物体の位置姿勢を認識する(演算する)。具体的には、物体認識部50は、カメラ30が取得した3次元画像から、物体の位置や姿勢(向き)等を演算する。物体認識部50は、3次元画像に基づいてワークW、基準ブロックB1,B3、及び収容ケースH内の載置部Snの位置姿勢を認識する。
 ロボット制御装置60は、CPU、ROM、RAM、及び入出力インターフェース等を備えている。ロボット制御装置60は、ロボット20のアーム部21の揺動・回転、把持用ツール22の動作等を制御する。ロボット制御装置60は、物体認識部50が認識したワークWの位置姿勢に基づいて、ロボット20の各動作を制御する。なお、ロボット20の各動作は、予め教示してロボット制御装置60に記憶させているので、物体認識部50が演算したワークWの位置姿勢に基づいて、ロボット制御装置60は、教示データを自動的に補正する。
 次に、ロボット20を稼動させる前に行う初期設定の手順について、図2のフローチャートを参照して説明する。この一連の処理は、物体認識部50により実行される。
 まず、ロボット20とカメラ30とのキャリブレーションを行う(S10)。具体的には、スライダ40によりカメラ30を第1撮像位置P1に移動させた状態で、上記のキャリブレーションを行う。このとき、カメラ30により撮像された3次元画像には、通箱Tb内の全てのワークW及び基準ブロックB1が含まれている。なお、キャリブレーション後に通箱Tb及び基準ブロックB1を配置して、カメラ30により撮像された3次元画像に通箱Tb内の全てのワークW及び基準ブロックB1が含まれるようにしてもよい。
 続いて、基準ブロックB1の形状データを登録する(S11)。具体的には、カメラ30により撮像された3次元画像を処理することにより、基準ブロックB1の3次元形状データを取得して登録する。なお、3次元形状データは、物体の各点の位置を表す点群のデータとして取得される。
 続いて、基準ブロックB1とカメラ30との位置関係を取得する(S12)。具体的には、カメラ30により第1撮像位置P1から基準ブロックB1を撮像した3次元画像に基づいて、カメラ30の座標系における基準ブロックB1の位置姿勢を認識する。カメラ30の座標系における基準ブロックB1の位置姿勢(位置)を、上記パラメータを用いてロボット20の座標系における基準ブロックB1の位置姿勢(位置)に変換する。そして、ロボット20の座標系における基準ブロックB1の位置姿勢(基準位置)を、基準ブロックB1とカメラ30との位置関係として取得する。すなわち、カメラ30により第1撮像位置P1から基準ブロックB1を撮像した3次元画像に基づき認識した基準ブロックB1の位置姿勢を、基準ブロックB1とカメラ30との位置関係として取得する。
 続いて、対象物の形状データを登録する(S13)。具体的には、カメラ30により撮像された3次元画像を処理することにより、ワークWの3次元形状データを取得して登録する。なお、複数のワークWは同一形状であるため、代表の1つのワークWの3次元形状データを取得すればよい。
 続いて、マスタデータを保存する(S14)。具体的には、上記の基準ブロックB1の3次元形状データ、ロボット20の座標系における基準ブロックB1の位置姿勢、及びワークWの3次元形状データを、ロボット20の稼働時に用いるマスタデータとして保存する。その後、この一連の処理を終了する(END)。
 また、物体認識部50は、スライダ40によりカメラ30を第2撮像位置P2に移動させた状態で、上記S10~S14と同様の処理を行う。ここでは、基準ブロックB3を基準ブロックとし、収容ケースH内の載置部Snを対象物に準ずる扱いとする。
 次に、ロボット20の稼動時における制御の手順について、図3のフローチャートを参照して説明する。この一連の処理において、S20~S26の処理は物体認識部50により実行され、S27の処理はロボット制御装置60により実行される。ここでは、ロボット20が収容部で作業をしている際に、スライダ40によりカメラ30を第1撮像位置P1に移動させてこの一連の処理を行う場合を例にして説明する。スライダ40によりカメラ30を第1撮像位置P1から他の位置へ移動させた後に第1撮像位置P1に移動させる際には、第1撮像位置P1と実際のカメラ30の位置とにずれ(誤差)が生じる。
 まず、マスタデータを読み込む(S20)。具体的には、上記初期設定において保存されたマスタデータを読み込む。
 続いて、基準ブロックと対象物とが同じ撮像視野に入っているか否か判定する(S21)。具体的には、基準ブロックB1と全てのワークWとが同じ撮像視野(1つの撮像視野)に入っているか否か判定する。この判定は、カメラ30により撮像された3次元画像と上記マスタデータ(基準ブロックB1の3次元形状データ、及びワークWの3次元形状データ)とに基づいて、いわゆるマッチングにより行うことができる。この判定において、基準ブロックB1と全てのワークWとが同じ撮像視野に入っていないと判定した場合(S21:NO)、スライダ40によりカメラ30を他の撮像位置へ移動させる(S22)。具体的には、スライダ40の直線軌道のいずれか一方へ、スライダ40の可動部41を所定量移動させる。なお、上記判定において撮像された3次元画像に基づいて、基準ブロックと対象物とを同じ撮像視野に入れるための可動部41の移動方向及び移動量を決定することもできる。その後、S21の処理から再度実行する。すなわち、カメラ30は、同じ視野に基準ブロックB1とワークWとが入っていない場合に、同じ視野に基準ブロックB1とワークWとが入る位置まで移動して3次元画像(所定画像)を取得する。
 S21の判定において、基準ブロックB1と全てのワークWとが同じ撮像視野に入っていると判定した場合(S21:YES)、可動式カメラのずれ量を算出する(S23)。具体的には、カメラ30の現在位置(位置)の第1撮像位置P1からのずれ量を算出する。ここで、カメラ30により現在位置で撮像された3次元画像(所定画像)に基づき認識した基準ブロックB1の位置がマスタデータにおける基準ブロックB1の位置(基準位置)からずれていれば、そのずれ量はカメラ30の現在位置の第1撮像位置P1からのずれ量に対応(起因)している。このため、カメラ30により現在位置で撮像された3次元画像に基づき認識した基準ブロックB1の位置と、マスタデータにおける基準ブロックB1の位置とに基づいて、カメラ30の現在位置が第1撮像位置P1からずれているずれ量を算出する。
 続いて、可動式カメラのずれ量を補正する(S24)。具体的には、カメラ30の座標系における物体の位置姿勢(位置)を、ロボット20の座標系における物体の位置姿勢(位置)に変換するための上記パラメータを上記ずれ量に基づいて補正する(パラメータにずれ量を反映させる)。
 続いて、対象物の位置姿勢(位置)を認識する(S25)。具体的には、カメラ30により現在位置からワークWを撮像した3次元画像に基づいて、カメラ30の座標系におけるワークWの位置姿勢を認識する。このとき、複数のワークWの中から掴む対象とするワークWを選択して、選択したワークWの位置姿勢を認識する。そして、カメラ30の座標系におけるワークWの位置姿勢を、上記補正されたパラメータを用いて、ロボット20の座標系におけるワークWの位置姿勢に変換する。すなわち、マスタデータにおける基準ブロックB1の位置(基準位置)と、基準ブロックB1とワークWとを視野に入れて撮像した3次元画像(所定画像)に基づき認識した基準ブロックB1の位置とに基づいて、カメラ30の現在位置(位置)の第1撮像位置P1(所定位置)からのずれ量を算出し、ずれ量と所定画像とに基づいてワークWの位置姿勢(位置)を認識する。
 続いて、対象物の位置姿勢(位置)をロボット制御装置60へ送信する(S26)。具体的には、物体認識部50は、認識したワークWの位置姿勢をロボット制御装置60へ送信する。
 続いて、ロボット20の動作を制御する(S27)。具体的には、ロボット制御装置60は、受信したワークWの位置姿勢に基づいて、ワークWを掴むようにアーム部21及び把持用ツール22を動作させる(ワークWに対して作業を行う)。一方、ロボット20が供給部で作業をしている際に、物体認識部50はカメラ30を第2撮像位置P2へ移動させて、S20~S26と同様の処理を基準ブロックB3及び収容ケースHの各載置部Snに対して実行している。供給部においてワークWを掴んだ後、加工部へワークWを移動させて切削機械等によりワークWを加工する。ワークWを加工した後、ワークWを収容部へ移動させて収容ケースHの各載置部SnにワークWを置く。このとき、ロボット制御装置60は、ロボット20が供給部で作業をしている際に予め認識した収容ケースHの各載置部Snの位置姿勢に基づいて、目標とする載置部SnにワークWを置く。そして、ロボット20が収容部で作業をしている際に、物体認識部50はカメラ30を第1撮像位置P1へ再度移動させて、S20~S26の処理を再度実行する。以降、上記処理を全てのワークWに対して作業が終了するまで繰り返す。
 以上詳述した本実施形態は、以下の利点を有する。
 ・カメラ30は、ロボット20と分離して移動し、複数の作業エリアのワークW及び収容ケースHの載置部Snをそれぞれ撮像可能である。そして、物体認識部50は、カメラ30により第1撮像位置P1,第2撮像位置P2から撮像された画像に基づいて、物体の位置を認識可能である。このため、カメラ30を第1撮像位置P1,第2撮像位置P2に移動させて複数の作業エリアのワークW及び収容ケースHの載置部Snをそれぞれ撮像することにより、複数の作業エリアでそれぞれワークW及び収容ケースHの載置部Snの位置を認識することができる。したがって、ロボット20が複数の作業エリアでそれぞれワークWに対して作業を行う場合であっても、必要なカメラの台数が増えることを抑制することができる。
 ・物体認識部50は、第1撮像位置P1から撮像された3次元画像に基づき認識した基準ブロックB1の基準位置と、基準ブロックB1とワークWとを同じ視野に入れて撮像した所定画像に基づき認識した基準ブロックB1の位置とに基づいて、カメラ30の位置の第1撮像位置P1からのずれ量を算出する。そして、ずれ量と所定画像とに基づいてワークWの位置を認識する。このため、カメラ30が第1撮像位置P1に正確に戻ることができなかった場合でも、ワークWの位置を正確に認識することができる。そして、ロボット20は、物体認識部50により認識されたワークWの位置に基づいて、ワークWに対して正確に作業を行うことができる。また、第2撮像位置P2、基準ブロックB3、及び収容ケースHの載置部Snに対しても同様である。
 ・供給部においてカメラ30によりワークWの位置を認識するとともに、既に収容ケースHの載置部Snの位置を認識した収容部においてロボット20によりワークWに対して作業を行うことができる。すなわち、カメラ30によるワークWの位置の認識と、ロボット20による載置部SnへのワークWに対する作業とを並行して行うことができる。したがって、複数の作業エリアにおいて、カメラ30によりワークWの位置を認識し始めてからワークWに対して作業し終えるまでのサイクル時間が長くなることを抑制することができる。また、収容部においてカメラ30により収容ケースHの載置部Snの位置を認識するとともに、既にワークWの位置を認識した供給部においてロボット20によりワークWに対して作業を行うことができる。
 ・カメラ30は、同じ撮像視野に基準ブロックB1とワークWとが入っていない場合に、同じ撮像視野に基準ブロックB1とワークWとが入る位置まで移動して所定画像を取得する。こうした構成によれば、同じ撮像視野に基準ブロックB1とワークWとが入らない位置にカメラ30が移動している場合であっても、カメラ30が移動して位置を変更することにより、基準ブロックB1とワークWとを同じ撮像視野に入れて撮像した所定画像を取得することができる。
 ・ロボット20は、複数の作業エリアのうちの供給部においてワークWを掴み、収容部までワークWを移動させて離す作業を行う。こうした構成によれば、複数の作業エリアのうちの1つの作業エリアにおいてワークWを掴み、他の作業エリアまでワークWを移動させて離す(置く)作業を行う場合であっても、作業エリア毎にカメラが必要とならない。また、既にワークWの位置を認識した供給部においてロボット20によりワークWを掴む作業を行うとともに、ワークWを離す収容部においてカメラ30により収容ケースHの載置部Snの位置を認識することができる。その結果、必要なカメラの台数が増えることを抑制するとともに、サイクル時間が長くなることを抑制することにある。
 ・物体認識部50は、複数の作業エリアのうちの供給部においてロボット20がワークWを掴む前に、基準位置と所定画像に基づき認識した基準ブロックB1の位置とに基づいて、カメラ30の現在位置の第1撮像位置P1からのずれ量を算出し、ずれ量と所定画像とに基づいてワークWの位置姿勢を認識する。そして、ロボット20は、物体認識部50により認識されたワークWの位置姿勢に基づいて、ワークWを掴む作業を行う。こうした構成によれば、ワークWを掴む前にワークWの位置姿勢を正確に認識することができ、正確に認識したワークWの位置姿勢に基づいてワークWを正確に掴むことができる。
 ・基準ブロックB1は、ワークWの周囲に配置された非対称の多面体からなるブロックである。こうした構成によれば、物体認識部50は、基準ブロックB1の特徴を捉えやすくなるため、基準ブロックB1の位置を容易に認識することができる。
 なお、上記実施形態を、以下のように変更して実施することもできる。上記実施形態と同一の部分については、同一の符号を付すことにより説明を省略する。
 ・基準ブロックB1,B3の3次元形状データは、それぞれ第1撮像位置P1,第2撮像位置P2でカメラ30が撮像した3次元画像データと、基準ブロックB1,B3の3次元CADデータとを合成して形成することもできる。また、ワークW及び収容ケースHの載置部Snの3次元形状データは、それぞれ第1撮像位置P1及び第2撮像位置P2でカメラ30が撮像した3次元画像データと、ワークW及び載置部Snの3次元CADデータとを合成して形成することもできる。
 ・物体認識部50は、図1に示すように、物体の位置を検出する精度がカメラ30よりも高い3Dスキャナ70を用いてキャリブレーションを行うこともできる。この場合、物体認識部50は、第1撮像位置P1及び第2撮像位置P2(所定位置)に3Dスキャナ70を配置した状態で、それぞれキャリブレーションを行う。そして、3Dスキャナ70により第1撮像位置P1,第2撮像位置P2から基準ブロックB1,B3をそれぞれ撮像した3次元画像に基づき認識した基準ブロックB1,B3の位置姿勢(基準位置)を、基準ブロックB1,B3とカメラ30との位置関係として取得して登録する。
 こうした構成によれば、カメラ30の座標系とロボット20の座標系との対応関係を正確に校正することができる。さらに、第1撮像位置P1及び第2撮像位置P2からそれぞれ撮像された画像に基づき認識した基準ブロックB1,B3の位置である基準位置を、より正確に取得することができる。したがって、カメラ30の位置の第1撮像位置P1及び第2撮像位置P2からのずれ量をより正確に算出することができ、ひいてはワークW及び収容ケースHの載置部Snの位置をより正確に認識することができる。
 ・供給部(1つの作業エリア)においてロボット20がワークWを掴む際に、ロボット20とワークWとの相対位置にばらつきが生じる。その場合、掴んだワークWを収容部(他の作業エリア)まで移動させて離す(置く)作業において、ワークWを置く位置にばらつきが生じるおそれがある。
 そこで、物体認識部50は、複数の作業エリアのうちの供給部においてワークWを掴んだ後に、基準位置と所定画像に基づき認識した基準ブロックB1の位置とに基づいて、カメラ30の現在位置の第1撮像位置P1からのずれ量を算出し、ずれ量と所定画像とに基づいてワークWの位置姿勢(位置)を認識してもよい。そして、ロボット20は、ワークWを掴んだ後に、物体認識部50により認識されたワークWの位置姿勢に基づいて、供給部から収容部までワークWを移動させて離す作業を行ってもよい。
 こうした構成によれば、ワークWを掴んだ後にワークWの位置姿勢を正確に認識することができ、正確に認識したワークWの位置姿勢に基づいて、供給部から収容部までワークWを移動させて正確な位置で離す(正確な位置に置く)ことができる。なお、供給部においてワークWを掴んだ後に、物体認識部50により認識されたワークWの位置姿勢に基づいて、供給部から加工部までワークWを移動させて加工する作業を行うこともできる。
 ・カメラ30により現在位置で撮像された3次元画像に基づき認識した基準ブロックB1の位置と、マスタデータにおける基準ブロックB1の位置とに基づいて、カメラ30の現在位置が第1撮像位置P1からずれているずれ量を算出する。このずれ量と、座標を変換する上記パラメータに含まれる第1撮像位置P1及び第2撮像位置P2の情報とに基づいて、カメラ30の現在位置を算出する。そして、カメラ30の現在位置と上記所定画像とに基づいて、ワークWの位置姿勢(位置)を認識することもできる。
 ・図1に破線で示すように、ロボット制御システム10は、ロボット20を複数備えていてもよい。この場合、基準ブロックB1,B3(基準物)は、複数のロボット20の複数の作業エリアにそれぞれ設けられている。そして、カメラ30は、複数のロボット20の複数の作業エリアのワークW(対象物)及び収容ケースHの載置部Snをそれぞれ撮像可能である。具体的には、スライダ40の可動部41は、複数のロボット20の複数の作業エリアまで移動可能である。こうした構成によれば、1台のカメラ30により、複数のロボット20の作業における対象物の位置の認識を行うことができる。したがって、必要なカメラの台数をさらに減らすことができる。
 上記の場合において、カメラ30により1つの基準ブロックを撮像している状態において、撮像視野にワークW及び収容ケースHの載置部Snが入れば、供給部及び収容部に共通の1つの基準ブロックを配置してもよい。そして、ロボット20毎に、1つの基準ブロックを配置してもよい。
 ・位置基準となる基準物として、ワークW及び収容ケースHの載置部Snの周囲に存在する設備の一部(例えば装置の一部や支持構造の一部)を採用することもできる。基準物として採用する設備の一部は、位置及び形状が変化しない物体で、カメラ30により特徴部を認識しやすいものが好ましい。こうした構成によれば、ワークW及び収容ケースHの載置部Snの周囲に存在する設備の一部を基準物として利用することができるため、特別なブロック等を基準物として配置する必要がなくなる。
 ・物体認識部50は、ロボット制御装置60に含まれていてもよいし、カメラ30に含まれていてもよい。
 ・ロボット20は、単腕の水平多関節型ロボットであってもよい。また、ロボット20は、双腕の多関節型ロボットであってもよい。
 なお、上記各実施形態及びその変更例を、組み合わせ可能な範囲で組み合わせて実施することもできる。
 以下、上述した実施形態及び変更例から抽出される特徴的な構成を記載する。
[構成1]
 複数の作業エリアでそれぞれ対象物(W)に対して作業を行うロボット(20)と、
 前記ロボットと分離して移動し、前記複数の作業エリアの前記対象物をそれぞれ撮像可能な可動式カメラ(30)と、
 前記可動式カメラにより所定位置(P1、P2)から撮像された画像に基づいて、物体の位置を認識可能である物体認識部(50)と、
を備えるロボット制御システム(10)であって、
 前記可動式カメラは、位置基準となる基準物(B1)と前記対象物とを視野に入れて撮像した所定画像を取得し、
 前記物体認識部は、前記所定位置から撮像された画像に基づき認識した前記基準物の位置を基準位置として予め登録しており、前記基準位置と前記所定画像に基づき認識した前記基準物の位置とに基づいて、前記可動式カメラの位置の前記所定位置からのずれ量を算出し、前記ずれ量と前記所定画像とに基づいて前記対象物の位置を認識し、
 前記ロボットは、前記物体認識部により認識された前記対象物の位置に基づいて、前記対象物に対して作業を行う、ロボット制御システム。
[構成2]
 前記ロボットを複数備え、
 前記基準物は、複数の前記ロボットの前記複数の作業エリアにそれぞれ設けられており、
 前記可動式カメラは、複数の前記ロボットの前記複数の作業エリアの前記対象物をそれぞれ撮像可能である、構成1に記載のロボット制御システム。
[構成3]
 前記可動式カメラは、視野に前記基準物と前記対象物とが入っていない場合に、視野に前記基準物と前記対象物とが入る位置まで移動して前記所定画像を取得する、構成1又は2に記載のロボット制御システム。
[構成4]
 前記物体認識部は、前記可動式カメラの座標系と前記ロボットの座標系との対応関係を校正するキャリブレーションを行うことにより、前記可動式カメラにより前記所定位置から撮像された画像に基づいて、前記物体の位置として前記ロボットの座標系における物体の位置を認識可能とする、構成1~3のいずれか1つに記載のロボット制御システム。
[構成5]
 前記キャリブレーションは、物体の位置を検出する精度が前記可動式カメラよりも高い3Dスキャナ(70)を用いて行われ、
 前記基準位置は、前記3Dスキャナを用いて予め登録されている、構成4に記載のロボット制御システム。
[構成6]
 前記ロボットは、前記複数の作業エリアのうちの1つの作業エリアにおいて前記対象物を掴み、他の作業エリアまで前記対象物を移動させて離す作業を行う、構成1~5のいずれか1つに記載のロボット制御システム。
[構成7]
 前記物体認識部は、前記複数の作業エリアのうちの1つの作業エリアにおいて前記対象物を掴む前に、前記基準位置と前記所定画像に基づき認識した前記基準物の位置とに基づいて、前記可動式カメラの位置の前記所定位置からのずれ量を算出し、前記ずれ量と前記所定画像とに基づいて前記対象物の位置を認識し、
 前記ロボットは、前記物体認識部により認識された前記対象物の位置に基づいて、前記対象物を掴む作業を行う、構成6に記載のロボット制御システム。
[構成8]
 前記物体認識部は、前記複数の作業エリアのうちの1つの作業エリアにおいて前記対象物を掴んだ後に、前記基準位置と前記所定画像に基づき認識した前記基準物の位置とに基づいて、前記可動式カメラの位置の前記所定位置からのずれ量を算出し、前記ずれ量と前記所定画像とに基づいて前記対象物の位置を認識し、
 前記ロボットは、前記物体認識部により認識された前記対象物の位置に基づいて、前記1つの作業エリアから他の作業エリアまで前記対象物を移動させて離す作業を行う、構成6又は7に記載のロボット制御システム。
[構成9]
 前記基準物は、前記対象物の周囲に配置された非対称の多面体からなるブロックである、構成1~8のいずれか1つに記載のロボット制御システム。
[構成10]
 前記基準物は、前記対象物の周囲に存在する設備の一部である、構成1~8のいずれか1つに記載のロボット制御システム。
 本開示は、実施例に準拠して記述されたが、本開示は当該実施例や構造に限定されるものではないと理解される。本開示は、様々な変形例や均等範囲内の変形をも包含する。加えて、様々な組み合わせや形態、さらには、それらに一要素のみ、それ以上、あるいはそれ以下、を含む他の組み合わせや形態をも、本開示の範疇や思想範囲に入るものである。

Claims (10)

  1.  複数の作業エリアでそれぞれ対象物(W)に対して作業を行うロボット(20)と、
     前記ロボットと分離して移動し、前記複数の作業エリアの前記対象物をそれぞれ撮像可能な可動式カメラ(30)と、
     前記可動式カメラにより所定位置(P1、P2)から撮像された画像に基づいて、物体の位置を認識可能である物体認識部(50)と、
    を備えるロボット制御システム(10)であって、
     前記可動式カメラは、位置基準となる基準物(B1)と前記対象物とを視野に入れて撮像した所定画像を取得し、
     前記物体認識部は、前記所定位置から撮像された画像に基づき認識した前記基準物の位置を基準位置として予め登録しており、前記基準位置と前記所定画像に基づき認識した前記基準物の位置とに基づいて、前記可動式カメラの位置の前記所定位置からのずれ量を算出し、前記ずれ量と前記所定画像とに基づいて前記対象物の位置を認識し、
     前記ロボットは、前記物体認識部により認識された前記対象物の位置に基づいて、前記対象物に対して作業を行う、ロボット制御システム。
  2.  前記ロボットを複数備え、
     前記基準物は、複数の前記ロボットの前記複数の作業エリアにそれぞれ設けられており、
     前記可動式カメラは、複数の前記ロボットの前記複数の作業エリアの前記対象物をそれぞれ撮像可能である、請求項1に記載のロボット制御システム。
  3.  前記可動式カメラは、視野に前記基準物と前記対象物とが入っていない場合に、視野に前記基準物と前記対象物とが入る位置まで移動して前記所定画像を取得する、請求項1又は2に記載のロボット制御システム。
  4.  前記物体認識部は、前記可動式カメラの座標系と前記ロボットの座標系との対応関係を校正するキャリブレーションを行うことにより、前記可動式カメラにより前記所定位置から撮像された画像に基づいて、前記物体の位置として前記ロボットの座標系における物体の位置を認識可能とする、請求項1又は2に記載のロボット制御システム。
  5.  前記キャリブレーションは、物体の位置を検出する精度が前記可動式カメラよりも高い3Dスキャナ(70)を用いて行われ、
     前記基準位置は、前記3Dスキャナを用いて予め登録されている、請求項4に記載のロボット制御システム。
  6.  前記ロボットは、前記複数の作業エリアのうちの1つの作業エリアにおいて前記対象物を掴み、他の作業エリアまで前記対象物を移動させて離す作業を行う、請求項1又は2に記載のロボット制御システム。
  7.  前記物体認識部は、前記複数の作業エリアのうちの1つの作業エリアにおいて前記対象物を掴む前に、前記基準位置と前記所定画像に基づき認識した前記基準物の位置とに基づいて、前記可動式カメラの位置の前記所定位置からのずれ量を算出し、前記ずれ量と前記所定画像とに基づいて前記対象物の位置を認識し、
     前記ロボットは、前記物体認識部により認識された前記対象物の位置に基づいて、前記対象物を掴む作業を行う、請求項6に記載のロボット制御システム。
  8.  前記物体認識部は、前記複数の作業エリアのうちの1つの作業エリアにおいて前記対象物を掴んだ後に、前記基準位置と前記所定画像に基づき認識した前記基準物の位置とに基づいて、前記可動式カメラの位置の前記所定位置からのずれ量を算出し、前記ずれ量と前記所定画像とに基づいて前記対象物の位置を認識し、
     前記ロボットは、前記物体認識部により認識された前記対象物の位置に基づいて、前記1つの作業エリアから他の作業エリアまで前記対象物を移動させて離す作業を行う、請求項6に記載のロボット制御システム。
  9.  前記基準物は、前記対象物の周囲に配置された非対称の多面体からなるブロックである、請求項1又は2に記載のロボット制御システム。
  10.  前記基準物は、前記対象物の周囲に存在する設備の一部である、請求項1又は2に記載のロボット制御システム。
PCT/JP2023/042090 2022-12-23 2023-11-23 ロボット制御システム WO2024135220A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2022-206736 2022-12-23
JP2022206736A JP2024090687A (ja) 2022-12-23 2022-12-23 ロボット制御システム

Publications (1)

Publication Number Publication Date
WO2024135220A1 true WO2024135220A1 (ja) 2024-06-27

Family

ID=91588208

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2023/042090 WO2024135220A1 (ja) 2022-12-23 2023-11-23 ロボット制御システム

Country Status (3)

Country Link
JP (1) JP2024090687A (ja)
TW (1) TW202430339A (ja)
WO (1) WO2024135220A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05138582A (ja) * 1991-11-14 1993-06-01 A T R Tsushin Syst Kenkyusho:Kk ロボツトによる物体操作のための能動的カメラ探索装置
JP2004243187A (ja) * 2003-02-12 2004-09-02 Seiko Epson Corp 液滴吐出装置、電気光学装置、電気光学装置の製造方法および電子機器
JP2015170688A (ja) * 2014-03-06 2015-09-28 株式会社ダイヘン 基板損傷検出装置、その基板損傷検出装置を備えた基板搬送ロボット及び基板損傷検出方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05138582A (ja) * 1991-11-14 1993-06-01 A T R Tsushin Syst Kenkyusho:Kk ロボツトによる物体操作のための能動的カメラ探索装置
JP2004243187A (ja) * 2003-02-12 2004-09-02 Seiko Epson Corp 液滴吐出装置、電気光学装置、電気光学装置の製造方法および電子機器
JP2015170688A (ja) * 2014-03-06 2015-09-28 株式会社ダイヘン 基板損傷検出装置、その基板損傷検出装置を備えた基板搬送ロボット及び基板損傷検出方法

Also Published As

Publication number Publication date
TW202430339A (zh) 2024-08-01
JP2024090687A (ja) 2024-07-04

Similar Documents

Publication Publication Date Title
JP6429473B2 (ja) ロボットシステム、ロボットシステムの校正方法、プログラム、およびコンピュータ読み取り可能な記録媒体
JP6855492B2 (ja) ロボットシステム、ロボットシステム制御装置、およびロボットシステム制御方法
EP3542969B1 (en) Working-position correcting method and working robot
US7200260B1 (en) Teaching model generating device
JP3946711B2 (ja) ロボットシステム
JP7153085B2 (ja) ロボットキャリブレーションシステム及びロボットキャリブレーション方法
US11173608B2 (en) Work robot and work position correction method
JP6855491B2 (ja) ロボットシステム、ロボットシステム制御装置、およびロボットシステム制御方法
JP6885856B2 (ja) ロボットシステムおよびキャリブレーション方法
CN110977950B (zh) 一种机器人抓取定位方法
WO2024135220A1 (ja) ロボット制御システム
WO2023032400A1 (ja) 自動搬送装置、及びシステム
WO2023013740A1 (ja) ロボット制御装置、ロボット制御システム、及びロボット制御方法
JP7509918B2 (ja) 画像処理システム及び画像処理方法
JP2016203282A (ja) エンドエフェクタの姿勢変更機構を備えたロボット
JP7583942B2 (ja) ロボット制御装置、ロボット制御システム、及びロボット制御方法
JP2024068115A (ja) ロボット搭載移動装置
JP2022162340A (ja) ピッキング装置
JP2023182423A (ja) 作業ロボット、作業ロボットの掴持状態の判定方法、及び作業ロボットの掴持状態の判定プログラム
WO2024062535A1 (ja) ロボット制御装置
CN118404501A (zh) 一种基于视觉测量的打磨轨迹修正方法、系统及存储介质
CN117769483A (zh) 机器人控制设备、机器人控制系统以及机器人控制方法
JP2023017385A (ja) ロボット制御方法、ロボット制御システム、制御装置及び制御プログラム
CN117813182A (zh) 机器人控制设备、机器人控制系统和机器人控制方法
JP2021133458A (ja) 3次元計測装置および3次元計測システム

Legal Events

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

Ref document number: 23906589

Country of ref document: EP

Kind code of ref document: A1