WO2023037443A1 - ロボット制御装置、学習装置および推論装置 - Google Patents

ロボット制御装置、学習装置および推論装置 Download PDF

Info

Publication number
WO2023037443A1
WO2023037443A1 PCT/JP2021/032995 JP2021032995W WO2023037443A1 WO 2023037443 A1 WO2023037443 A1 WO 2023037443A1 JP 2021032995 W JP2021032995 W JP 2021032995W WO 2023037443 A1 WO2023037443 A1 WO 2023037443A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
person
information
processing unit
state
Prior art date
Application number
PCT/JP2021/032995
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 CN202180098461.5A priority Critical patent/CN117377561A/zh
Priority to US18/571,741 priority patent/US20240123627A1/en
Priority to PCT/JP2021/032995 priority patent/WO2023037443A1/ja
Priority to JP2022506319A priority patent/JP7098080B1/ja
Publication of WO2023037443A1 publication Critical patent/WO2023037443A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/06Safety devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning

Definitions

  • the present disclosure relates to a robot control device, a learning device, and an inference device that control a robot that operates while sharing a workspace with people.
  • Patent Document 1 the distance between a robot and a worker present in the vicinity of a robot recognized from image information captured by a camera is measured, and when the measured distance is a distance that interferes with the worker, the robot performs a task.
  • a method for controlling a robot is disclosed in which it is estimated which parts of a person will be interfered with and in what manner, and based on the result, the motion of the robot is restricted.
  • the conventional technology has the problem that the possibility of the worker being caught between the robot and the surrounding object is not taken into consideration. For example, in a state where a part of the worker's body exists between the robot and surrounding objects, as a result of estimating the mode of interference between the worker and the robot from the distance between the worker and the robot, the robot's movement is slowed down. , there is a possibility that part of the worker's body will be caught between the robot and the surrounding object because the existence of the surrounding object is not considered.
  • the present disclosure has been made in view of the above, and an object thereof is to obtain a robot control device capable of suppressing the occurrence of a person being caught between a robot and a peripheral object.
  • the present disclosure provides a robot control device that controls a robot that operates while sharing a work area with a person, comprising: an image recognition processing unit; a robot control processing unit; , and a monitoring processing unit.
  • the image recognition processing unit recognizes first information, which is information about a person present in the monitored area, based on measurement data in the monitored area obtained from the vision sensor.
  • the robot control processing unit controls the motion of the robot according to a motion program for operating the robot.
  • the monitoring processing unit determines the possibility of a human being caught between the robot and the surrounding object based on the surrounding object data and the first information obtained from the image recognition processing unit.
  • the peripheral object data is data indicating the three-dimensional arrangement state of peripheral objects, which are robots and objects other than robots, in the monitoring area.
  • the robot control device has the effect of being able to suppress the occurrence of a person being caught between the robot and surrounding objects.
  • FIG. 1 is a block diagram showing an example of a configuration of a robot system including a robot control device according to Embodiment 1;
  • FIG. A diagram showing an example of human influence level information Flowchart showing an example of the procedure of the robot control method according to Embodiment 1 Flowchart showing an example of the procedure of the robot control method according to Embodiment 1 Diagram showing the relationship between humans, robots, and surrounding objects
  • FIG. 2 is a block diagram showing an example of the configuration of a robot system including a robot control device according to Embodiment 2; Diagram for explaining how to generate an access frequency map A diagram showing an example of an access frequency map FIG.
  • a robot control device, a learning device, and an inference device according to embodiments of the present disclosure will be described below in detail based on the drawings.
  • FIG. 1 is a block diagram showing an example of a configuration of a robot system including a robot control device according to Embodiment 1.
  • the robot system 1 includes a robot 10 , a vision sensor 20 and a robot controller 30 .
  • the robot 10 has a plurality of arms and a driving unit provided at each joint that is a connection point of each arm and controlling the joint angle.
  • the robot 10 can take various postures in accordance with motion commands from the robot control device 30 . By taking various postures, the robot 10 can operate within a predetermined range of positions centered on the fixed position of the robot 10 .
  • An example of the drive unit is an electric motor typified by a servomotor or a stepping motor, or a cylinder using pneumatic pressure or hydraulic pressure.
  • the vision sensor 20 captures an image of a predetermined area including the robot 10, that is, the monitoring area of the robot system 1.
  • the vision sensor 20 is a sensor capable of acquiring measurement data including a range image including the depth of objects in the monitoring area and a color image for distinguishing between humans and peripheral objects other than humans.
  • An example of vision sensor 20 is a two-dimensional or three-dimensional camera. Color information can be obtained with a two-dimensional camera, and position information can be obtained with a three-dimensional camera.
  • a stereo system, a time of flight (ToF) system, or a projector system can be used as an imaging system of the three-dimensional camera.
  • peripheral objects are tables, walls, shelves, doors, processing machines.
  • the robot control device 30 controls the motion of the robot 10 according to a predetermined motion program, which is a program for operating the robot 10 . During the control process of the robot 10, the robot control device 30 controls the robot 10 so that the robot 10 does not come into contact with the person when there is a person around the robot 10 based on the imaging result of the vision sensor 20. control behavior.
  • the robot control device 30 includes an operation program storage unit 31, a robot control processing unit 32, an image recognition processing unit 33, a human influence level information storage unit 34, a peripheral object data storage unit 35, a monitoring processing unit 36, Prepare.
  • the motion program storage unit 31 stores motion programs that describe motions of the robot 10 .
  • the robot control processing unit 32 loads the operation program from the operation program storage unit 31, executes it, and controls the robot 10 according to the execution result. Further, when the monitoring processing unit 36 issues a command to limit the movement of the robot 10 while controlling the robot 10 according to the operation program, the robot control processing unit 32 controls the robot 10 according to the command.
  • the image recognition processing unit 33 recognizes the first information, which is information about a person present in the monitored area, based on the measurement data in the monitored area obtained from the vision sensor 20 .
  • An example of measurement data is a range image or a color image.
  • the image recognition processing unit 33 uses a color image in the measurement data to determine whether a person exists in the monitoring area, and recognizes a human body part when a person exists in the monitoring area.
  • Human body parts include the head, body, upper arm, forearm, hand, thigh, lower leg, foot, and the like.
  • the image recognition processing unit 33 can recognize the human body part by comparing the data of the human body part stored in advance with the measurement data.
  • the image recognition processing unit 33 uses the distance image in the measurement data to determine the position and orientation of the recognized person, more specifically, the position and orientation of the human body part.
  • the first position/orientation information which is the information included
  • the first state information which is information including the state of the person
  • the first position/orientation information indicates the position and orientation of a person and human body parts in a camera coordinate system, which is a coordinate system used for measurement data measured by the vision sensor 20 .
  • the first state information is information indicating how the human body part is operating, and for example, information including the moving direction and speed of the human body part. When stopped, the moving direction and speed are "0".
  • the first position and orientation information and the first state information are included in the first information.
  • the image recognition processing unit 33 may further recognize the second information, which is information about the robot 10, for the robot 10 as well.
  • the second information includes second position/orientation information, which is information including the position and orientation, and second state information, which is information including the state, for the parts of the robot 10 .
  • the human body influence information storage unit 34 stores human body influence information, which is information indicating the degree of influence on the human body when the robot 10 comes into contact with a human.
  • the human body influence degree information defines the degree of influence exerted on the human body when the robot 10 comes into contact with each part of the human body.
  • FIG. 2 is a diagram showing an example of human influence level information.
  • the human body influence level information is information in which the state of contact between a person and the robot 10 is input data and the influence level on the human body is output data.
  • the input data has items of human contact site, human state, robot 10 contact site, and robot 10 state. Note that the items of input data in FIG. 2 are only examples, and the items are not limited to these.
  • the output data has an item of degree of influence on the human body.
  • Each item constituting the input data is information obtained as a result of recognition processing by the image recognition processing unit 33 and as a result of specific processing by the monitoring processing unit 36 .
  • the degree of impact on the human body are the degree of impact on the human body and the degree of injury or damage to the human body. For example, when the human body is damaged, the degree of influence on the human body is "high”, and when the human body is not damaged, the degree of influence on the human body is "low”.
  • the human contact part is "head"
  • the human state is "moving”
  • the contact part of the robot 10 is "all parts”
  • the robot 10 state is "moving speed”.
  • the degree of influence on the human body is “high”.
  • the information on the degree of influence on the human body is, for example, ISO/TS (International Organization for Standardization/Technical Specifications) 15066:2016 table A. 2 are the "Biomechanical limits”.
  • the peripheral object data storage unit 35 stores peripheral object data, which is information including the three-dimensional arrangement state of the robot 10 existing in the monitoring area and peripheral objects other than the robot 10 .
  • the peripheral object data includes three-dimensional CAD (Computer-Aided Design) data indicating the shape and size of the object, and position and orientation data indicating the position and orientation of the object.
  • the position and orientation data is, for example, data indicating the position and orientation of the robot 10 with respect to the installation position.
  • Peripheral object data is data capable of three-dimensionally reproducing the arrangement state of objects including the robot 10 in the monitoring area.
  • the peripheral object data is expressed using the robot coordinate system, which is the coordinate system used in the peripheral object data.
  • the monitoring processing unit 36 uses the recognition result of the image recognition processing unit 33 to determine the degree of impact at the time of contact. is likely to be given, a command to restrict the movement of the robot 10 is output to the robot control processing unit 32. Each specific process will be described below.
  • the monitoring processing unit 36 measures the measurement distance, which is the distance between the person and the robot 10, based on the recognition result of the image recognition processing unit 33.
  • the monitoring processing unit 36 determines whether the measured distance is a non-contact distance, which is a distance at which the robot 10 does not come into contact with a person due to the motion of the robot 10 .
  • the non-contact distance is obtained from operation stop data, which is data indicating in which direction and how much distance is required to stop the robot 10 from the time the image is captured by the vision sensor 20 .
  • the monitoring processing unit 36 measures the measured distance between the human and the robot 10 including the coasting distance until the robot 10 stops.
  • the monitoring processing unit 36 does not limit the robot 10 and allows the current operation to continue.
  • the monitoring processing unit 36 transmits to the robot control processing unit 32 a command to slow down the operation speed of the robot 10 .
  • the monitoring processing unit 36 determines whether the robot 10 is making contact with the human. . In one example, the monitoring processing unit 36 determines whether the robot 10 will come into contact with a person based on the first information of the person, which is the recognition result of the image recognition processing unit 33, and the second information of the robot 10. As described above, the first information includes first position/orientation information and first state information of human body parts, and the second information includes second position/orientation information and second state information of parts of robot 10 .
  • the monitoring processing unit 36 determines the contact portion and contact state between the robot 10 and the human body part based on the predicted motion of the human body part and the predicted motion of the robot 10 . to predict.
  • the monitoring processing unit 36 identifies contact position/orientation information including contacting human body parts and robot 10 parts and postures, and contacting state information indicating the contacting human body parts and robot 10 states.
  • the contact position/orientation information includes, for example, the human body part and contact angle that come into contact with the robot 10, and the part and contact angle of the robot 10 that come into contact with the human.
  • the state information at the time of contact includes the moving direction and speed of the parts of the human body and the robot 10 at the time of contact. In the state information at the time of contact, when both the moving direction and the speed are "0", it means that the robot is stopped.
  • the second position/orientation information and the second state information of the parts of the robot 10 are used by the robot control processing unit 32 instead of the recognition result by the image recognition processing unit 33 .
  • a simulation result of operating the robot 10 according to a program may be used.
  • the monitoring processing unit 36 allows the robot 10 to continue its movement while being restricted.
  • the monitoring processing unit 36 refers to the human body impact level information in the human body impact level information storage unit 34 based on the identified parts and states of the robot 10 and the person coming into contact with the human body. Extract the degree of impact. That is, the monitoring processing unit 36 extracts the human body influence degree information corresponding to the combination of the position/orientation information at the time of contact and the state information at the time of contact. Then, the monitoring processing unit 36 outputs an operation command of the robot 10 to the robot control processing unit 32 according to the obtained degree of influence on the human body. In one example, the monitoring processing unit 36 transmits to the robot control processing unit 32 a command to further restrict the movement of the robot 10 when the degree of influence on the human body is high. Examples of restrictions on the movement of the robot 10 include stopping the robot 10 and moving the robot 10 away from the person.
  • the monitoring processing unit 36 when the contact between the robot 10 and a person does not have a high degree of influence on the human body, the monitoring processing unit 36 generates surrounding object data indicating the three-dimensional arrangement state of the robot 10 and surrounding objects in the monitoring area. and the first information obtained from the image recognition processing unit 33, the possibility of a person being caught between the robot 10 and a peripheral object is determined, and the movement of the robot 10 is further restricted or the warning sound is suppressed. Determine whether output is required.
  • the monitoring processing unit 36 adds a first This is done by adding the position information of the person based on the information and predicting the motion of the person and the robot 10 based on the first information.
  • the monitoring processing unit 36 may determine the possibility of a person being caught between the robot 10 and a peripheral object, using not only the first information but also the second information. In this case, the monitoring processing unit 36 predicts the motion of the robot 10 from the second information including the second position/orientation information and the second state information.
  • the monitoring processing unit 36 adds the position information of the person in the camera coordinate system recognized by the image recognition processing unit 33, that is, the position information of each part of the human body to the peripheral object data in the robot coordinate system, By simulating the motion of the human and the motion of the robot 10, it is determined whether or not the human is caught between the robot 10 and a surrounding object.
  • the camera coordinate system and the robot coordinate system are calibrated in advance. Thereby, a coordinate conversion matrix between the camera coordinate system and the robot coordinate system is calculated.
  • this coordinate transformation matrix the position of the person in the camera coordinate system recognized by the vision sensor 20 can be transformed into the robot coordinate system.
  • the position and orientation of surrounding objects are also represented using coordinates with the robot 10 as a reference.
  • the monitoring processing unit 36 can grasp the positional relationship between the robot 10, the surrounding objects, and the person in the robot coordinate system, and determines from this positional relationship whether or not the person is in a position where the person is caught.
  • a simulation of human motion can be performed based on the first information.
  • the motion of the robot 10 can be simulated using the motion program or based on the second information.
  • the monitoring processing unit 36 continues the movement of the robot 10 while the movement is restricted when there is no possibility of a person getting caught. In other words, the monitoring processing unit 36 does not further limit the operation. Further, when there is a possibility that a person is caught in the machine, the monitoring processing unit 36 issues a command to the robot control processing unit to restrict the movement of the robot 10, such as stopping the robot 10 or moving the robot 10 away from the person. 32 or output a warning sound.
  • 3 and 4 are flowcharts showing an example of the procedure of the robot control method according to Embodiment 1.
  • FIG. It should be noted that processing will be described here on the assumption that a person exists within the monitored area.
  • the vision sensor 20 captures an image of the monitored area and transmits the captured data to the robot control device 30 as measurement data.
  • the image recognition processing unit 33 of the robot control device 30 recognizes the first position/orientation information and the first state information of the human body part present in the monitoring area from the received measurement data (step S11).
  • the first position/orientation information is information including the position and orientation of the human body part
  • the first state information is information including the state of the human body part.
  • the monitoring processing unit 36 uses the first position/orientation information and the first state information of the human body part recognized by the image recognition processing unit 33 to measure the measured distance between the recognized human and the robot 10 (step) S12).
  • the monitoring processing unit 36 determines whether the measured distance is a non-contact distance in which the human and the robot 10 do not contact each other (step S13).
  • the non-contact distance is the distance that the robot 10 moves from the state captured by the vision sensor 20 until the robot 10 receives a stop signal and stops. If the measured distance is greater than the non-contact distance, the robot 10 will not come into contact with the human, and if the measured distance is smaller than the non-contact distance, the robot 10 may come into contact with the human.
  • step S13 If the measured distance is greater than the non-contact distance (Yes in step S13), there is no possibility that the robot 10 will come into contact with a person. , the operation program continues, and the process ends.
  • the monitoring processing unit 36 When the measured distance is smaller than the non-contact distance (No in step S13), the monitoring processing unit 36 outputs a command to change the operating speed of the robot 10 to the robot control processing unit 32 (step S14). ). Upon receiving the command, the robot control processing unit 32 changes the operating speed of the robot 10 according to the command (step S15). Specifically, the monitoring processing unit 36 outputs a deceleration command to the robot control processing unit 32 in order to decelerate the operating speed of the robot 10 .
  • the operating speed of the robot 10 included in the deceleration command is such an operating speed that, even if the robot 10 comes into contact with a human body, it has almost no effect on the human body at the contact site, and is, for example, 0.25 m/s. .
  • the monitoring processing unit 36 uses the recognition result of the image recognition processing unit 33 to determine whether there is a possibility that the motion of the robot 10 will come into contact with a person (step S16).
  • the image recognition processing unit 33 recognizes the second position/orientation information and the second state information of the parts of the robot 10, and recognizes the first position/orientation information and the first state information of the human body parts, The second position/orientation information and the second state information are used to predict the motions of the human and the robot 10, and determine the possibility of contact between the robot 10 and the human.
  • the possibility of contact between the robot 10 and a person is calculated by combining a simulation of operating the robot 10 according to an operation program and a prediction using the first position/orientation information and first state information of the human body part. judge.
  • the monitoring processing unit 36 When it is determined that there is no possibility that the motion of the robot 10 will come into contact with a person (No in step S16), the monitoring processing unit 36 maintains the motion speed of the robot 10 changed in step S15. Then, the operation of the robot 10 is continued, and the process ends. Further, when it is determined that the motion of the robot 10 may come into contact with a person (Yes in step S16), the monitoring processing unit 36 uses the recognition result of the image recognition processing unit 33 to 10 and contact position/orientation information of the human body part is specified (step S17). Also, the monitoring processing unit 36 acquires contact state information of the robot 10 and the human body using the recognition result of the image recognition processing unit 33 (step S18). Examples of contact state information of the human body include head direction and movement speed, shoulder direction and movement speed, and the like. Similarly, an example of the contact state information of the robot 10 is the orientation and movement speed of the arm tip.
  • the monitoring processing unit 36 obtains the degree of influence on the human body by referring to the degree of influence information on the human body based on the contact position/orientation information and the contact state information of the robot 10 and the human body (step S19). Specifically, the monitoring processing unit 36 receives, as input data, a combination of contact position/orientation information and contact state information of the robot 10 and the human body, and determines the degree of influence on the human body corresponding to the input data from the human body influence degree information. Get some output data. The monitoring processing unit 36 determines whether the degree of influence on the human body is higher than a predetermined reference value (step S20).
  • the degree of impact on the human body is associated with information such as whether the human body part that the robot 10 contacts is a vital point, the movement speed of the robot 10, the human body part that may come into contact, the position, the state, and the like.
  • the monitoring processing unit 36 adds the position information of the person recognized by the image recognition processing unit 33 to the surrounding object data (Ste S21), the motions of the robot 10 and humans are predicted in the environment including surrounding objects (step S22).
  • the monitoring processing unit 36 uses peripheral object data to simulate the motion of the robot 10 and a person. At this time, contact position/orientation information and contact state information of the robot 10 and the human body, an operation program, and the like can be used.
  • FIG. 5 is a diagram showing the relationship between humans, robots, and surrounding objects. This figure shows a case where an area between the robot 10 and a workbench 510, which is a peripheral object, is an entrapment possibility area R1, and a hand 501 of a person 500 exists in the entrapment possibility area R1. In such a case, it is determined that there is a possibility that the hand 501 of the person 500 will be caught between the robot 10 and the workbench 510 .
  • the monitoring processing unit 36 outputs to the robot control processing unit 32 a command to restrict the movement of the robot 10 so that the person and the robot 10 do not come into contact with each other (step S24).
  • the robot control processing unit 32 limits the motion of the robot 10 based on the command (step S25). Restrictions on the motion of the robot 10 include stopping the motion of the robot 10, further deceleration, motion of the robot 10 in a direction away from the person, and the like.
  • the monitoring processing unit 36 outputs a command to limit the movement of the robot 10 to the robot control processing unit 32, and the robot control processing unit 32 limits the movement of the robot 10.
  • the monitoring processing unit 36 may output a warning sound. With this, the processing ends.
  • step S23 If there is no possibility of a person being caught between the robot 10 and a surrounding object (No in step S23), it is recognized that the effect on the human body is not so serious, and the operation of the robot 10 is changed to the current state. Leave as is and the process ends.
  • the image recognition processing unit 33 uses the measurement data from the vision sensor 20 to obtain the first position/orientation information and the first state information of the human body part existing in the monitoring area. to get The monitoring processing unit 36 adds the position of the person to the surrounding object data including the three-dimensional arrangement state, shape and size of the robot 10 and surrounding objects, predicts the movements of the person and the robot 10, Determine whether there is a possibility that a person is caught between surrounding objects.
  • the robot controls a command to restrict the movement of the robot 10 so that the person is not caught between the robot 10 and the surrounding object.
  • Output to the processing unit 32 is a command to restrict the movement of the robot 10 so that the person is not caught between the robot 10 and the surrounding object.
  • Embodiment 2 Conventionally, when there is a person in the area where the robot 10 and the surrounding object are arranged, the possibility of the robot 10 coming into contact with the person and the possibility of the person being caught between the robot 10 and the surrounding object are considered. No technique has been proposed for shortening the movement path of the robot 10 to the target position as much as possible while reducing it. In the second embodiment, the movement path of robot 10 to the target position is shortened as much as possible while reducing the possibility that robot 10 will come into contact with a person and the possibility that a person will be caught between robot 10 and surrounding objects.
  • a robot control device capable of
  • FIG. 6 is a block diagram showing an example of the configuration of a robot system including a robot control device according to the second embodiment.
  • symbol is attached
  • the robot control device 30 further includes a human analysis processing unit 37, an access frequency map storage unit 38, a learning device 39, a learned model storage unit 40, and an inference device 41 in addition to the configuration of the first embodiment. .
  • the human analysis processing unit 37 generates an access frequency map, which is information indicating the access status of people within the monitoring area during a predetermined period, from the recognition results of the image recognition processing unit 33 .
  • FIG. 7 is a diagram for explaining a method of generating an access frequency map.
  • FIG. 7 shows image data 600 of the monitored area captured by the vision sensor 20 .
  • image data 600 obtained by imaging the monitoring area from above is shown.
  • Image data 600 of a monitoring area is divided into a plurality of small rectangular areas 601 .
  • the substantially lower half is the area where the robot 10 and the surrounding object 520 are arranged, and the substantially upper half is the area 610 in which the person 500 can move.
  • a circular area centered on the position of the robot 10 is a robot motion area 620 in which parts of the robot 10 can move.
  • the access frequency of each small area 601 is 0.
  • the person analysis processing unit 37 determines which small area 601 the position of the person 500 recognized by the image recognition processing unit 33 belongs to, and adds "1" to the access frequency of the small area 601 to which the person 500 belongs.
  • the person analysis processing unit 37 generates an access frequency map by performing this process for a predetermined period.
  • FIG. 8 is a diagram showing an example of an access frequency map.
  • the access frequency map is generated from the image data 600 of the monitored area in FIG.
  • the frequency with which the person 500 belongs to each small area 601 is represented by performing the above processing.
  • the access frequency map it is possible to know in which position the person 500 is likely to exist in the monitored area.
  • the access frequency map storage unit 38 stores the access frequency map in the monitoring area generated by the human analysis processing unit 37.
  • the access frequency map is data prepared for machine learning.
  • learning device 39 Based on the motion path of robot 10 and the states of human 500, robot 10, and peripheral object 520, learning device 39 suppresses the motion of robot 10 from being decelerated or stopped, and prevents human 500 from robot 10.
  • a trained model is generated for learning the movement path of the robot 10 that suppresses contact with the robot 10 and the pinching of the person 500 between the robot 10 and the surrounding object 520 .
  • the learned model storage unit 40 stores the learned model learned by the learning device 39 .
  • the inference device 41 inputs the target position of the robot 10 and the states of the robot 10, the person 500, and the peripheral object 520 to the learned model stored in the learned model storage unit 40, thereby obtaining the robot 10, A motion path of the robot 10 that is suitable for the state of the person 500 and the surrounding object 520 is inferred.
  • the learning by the learning device 39 and the inference by the inference device 41 will be explained in detail below.
  • ⁇ Learning phase> 9 is a block diagram showing an example of a configuration of a learning device in a robot control device according to Embodiment 2.
  • FIG. The learning device 39 includes a data acquisition section 391 and a model generation section 392 .
  • the data acquisition unit 391 acquires the motion path of the robot 10 and state data indicating the states of the person 500, the robot 10, and surrounding objects as data for learning.
  • the state data includes first information of the person 500, target position and second information of the robot 10, and peripheral object data.
  • the first information is first position and orientation information
  • the second information is second position and orientation information.
  • the motion path and target position of the robot 10 can be obtained by simulating the motion program.
  • the motion path of the robot 10 is the motion in the states of the person 500, the robot 10, and the surrounding object 520, that is, in the combination of the first position and orientation information of the person 500, the target position and second position and orientation information of the robot 10, and the surrounding object data. is the route.
  • the model generating unit 392 determines whether the motion of the robot 10 is decelerated or stopped based on the states of the robot 10, the person 500, and the surrounding object 520 based on learning data including the motion path of the robot 10 and state data.
  • the motion path of the robot 10 is learned by suppressing the contact of the robot 10 with the person 500 and the pinching of the person 500 between the robot 10 and the surrounding object 520 . That is, a trained model is generated for inferring the movement path of the robot 10 that reduces the possibility of contacting the person 500 and pinching the person 500 from the states of the person 500 , the robot 10 and the surrounding object 520 .
  • supervised learning can be used as the learning algorithm used by the model generation unit 392 .
  • reinforcement learning an agent, who is the subject of action in an environment, observes the parameters of the environment, which is the current state, and decides what action to take. The environment dynamically changes according to the actions of the agent, and the agent is rewarded according to the change in the environment. The agent repeats this and learns the course of action that yields the most rewards through a series of actions.
  • Q learning Q-learning
  • TD-learning TD learning
  • a general update formula for the action-value function Q(s, a) is represented by the following formula (1).
  • s t represents the state of the environment at time t
  • a t represents the action at time t
  • Action a t changes the state to s t+1
  • r t+1 represents the reward obtained by changing the state
  • represents the discount rate
  • represents the learning coefficient.
  • is in the range of 0 ⁇ 1
  • is in the range of 0 ⁇ 1.
  • the action path of the robot 10 is the action at , the state of the person 500, the robot 10 and the surrounding object 520 is the state st , and the best action at in the state st at time t is learned.
  • the update formula represented by formula (1) increases the action value Q if the action value Q of action a with the highest Q value at time t+1 is greater than the action value Q of action a executed at time t.
  • the action value Q is decreased.
  • the action value function Q(s, a) is updated so that the action value Q of action a at time t approaches the best action value Q at time t+1.
  • the best action value Q in a certain environment is sequentially propagated to the action value Q in the previous environment.
  • the model generation unit 392 when generating a trained model by reinforcement learning, includes a reward calculation unit 393 and a function update unit 394.
  • the reward calculation unit 393 calculates a reward based on the motion path of the robot 10 and the states of the person 500, the robot 10, and the surrounding object 520.
  • the reward calculation unit 393 calculates at least one reward among the operation time of the robot 10, the degree of impact on the human body when the robot 10 contacts the person 500, and the access frequency of the person 500 within the robot operation area 620. Based on the criteria, calculate the reward r.
  • the operation time of the robot 10 is, for example, the time it takes to move from a position A to another position B, which is a target position. The shorter the operating time of the robot 10, the higher the productivity, so the shorter the operating time, the better.
  • Methods of shortening the operation time include a method of increasing the operation speed of the robot 10 and a method of shortening the operation path of the robot 10 .
  • the reward calculation unit 393 increases the reward r.
  • the reward calculation unit 393 increases the reward r by giving “1”, which is the value of the reward. Note that the reward value is not limited to "1”.
  • the reward calculation unit 393 reduces the reward r. In one example, the reward calculation unit 393 reduces the reward r by giving “ ⁇ 1”, which is the value of the reward. Note that the reward value is not limited to "-1".
  • the function updating unit 394 updates the function for determining the motion path of the robot 10 according to the reward calculated by the reward calculating unit 393 and outputs the function to the learned model storage unit 40 .
  • the action value function Q(s t , a t ) represented by Equation (1) is used as a function for calculating the motion path of the robot 10 .
  • the above learning is repeatedly executed.
  • the learned model storage unit 40 stores the action value function Q(s t , a t ) updated by the function updating unit 394, that is, the learned model.
  • FIG. 10 is a flow chart showing an example of the procedure of learning processing of the learning device included in the robot control device according to the second embodiment.
  • the data acquisition unit 391 acquires the motion path of the robot 10 and state data indicating the states of the person 500, the robot 10, and the surrounding objects 520 as learning data (step S51).
  • the state data for example, includes first position/posture information of the person 500, target position and second position/posture information of the robot 10, and peripheral object data.
  • the model generation unit 392 calculates a reward based on the motion path of the robot 10 and state data indicating the states of the person 500, the robot 10, and the surrounding object 520, and determines whether to increase the reward (step S52).
  • the reward calculation unit 393 acquires the motion path of the robot 10 and the states of the person 500, the robot 10, and the surrounding object 520, and determines the motion time of the robot 10, and the frequency of access of the person 500 within the robot operation area 620 to determine whether to increase or decrease the reward based on predetermined reward criteria.
  • step S52 If it is determined in step S52 to increase the reward, the reward calculation unit 393 increases the reward (step S53). On the other hand, when it is determined to decrease the reward in step S52, the reward calculator 393 decreases the reward (step S54).
  • step S55 the function updating unit 394 updates the action value function Q(s t , a t ) are updated (step S55).
  • the learning device 39 repeats the above steps S51 to S55 and stores the generated action-value function Q(s t , a t ) as a learned model in the learned model storage unit 40 .
  • the learning device 39 according to Embodiment 2 stores the learned model in the learned model storage unit 40 provided outside the learning device 39
  • the learned model storage unit 40 is stored inside the learning device 39. be prepared for
  • ⁇ Utilization phase> 11 is a block diagram showing an example of a configuration of an inference device in a robot control device according to Embodiment 2.
  • the inference device 41 includes a data acquisition unit 411 and an inference unit 412 .
  • the data acquisition unit 411 acquires state data indicating the states of the person 500, the robot 10, and the surrounding objects 520.
  • the state data for example, includes first position/posture information of the person 500, target position and second position/posture information of the robot 10, and peripheral object data.
  • the inference unit 412 infers the motion path of the robot 10 using the learned model. That is, by inputting the state data acquired by the data acquisition unit 411, that is, the states of the person 500, the robot 10, and the surrounding object 520, into this trained model, the motion path of the robot 10, more specifically, the person 500, A motion path of the robot 10 suitable for the state of the robot 10 and surrounding objects 520 can be inferred.
  • the learned model learned by the model generation unit 392 of the learning device 39 of the robot control device 30 is used to output the motion path of the robot 10 , but the learned model is output from another robot system 1 . and output the motion path of the robot 10 based on this learned model.
  • FIG. 12 is a flowchart illustrating an example of an inference processing procedure of an inference device included in the robot control device according to the second embodiment.
  • the data acquisition unit 411 acquires state data indicating the states of the person 500, the robot 10, and the peripheral object 520 as inference data (step S71).
  • the inference unit 412 inputs the state data, which is inference data, that is, the states of the person 500, the robot 10, and the peripheral object 520 to the learned model stored in the learned model storage unit 40 (step S72), A motion path of the robot 10 is obtained. After that, the inference unit 412 outputs the obtained motion path of the robot 10 as data to the robot control processing unit 32 (step S73).
  • the robot control processing unit 32 controls the robot 10 using the output motion path of the robot 10 (step S74).
  • the slowdown or stop of the motion of the robot 10 is suppressed, the degree of influence on the human body is reduced, the degree of influence of the human body 500 on the human body and pinching of the human 500 are suppressed, and the operation rate of the robot 10 is improved. It is possible to control the robot 10 while simultaneously improving and improving, and the robot system 1 with high versatility can be realized.
  • reinforcement learning is applied to the learning algorithm used by the inference unit 412
  • the present invention is not limited to this.
  • the learning algorithm supervised learning, unsupervised learning, or semi-supervised learning can be applied in addition to reinforcement learning.
  • Deep learning Deep Learning
  • neural networks genetic programming
  • function Machine learning may be performed according to logic programming, support vector machines, and the like.
  • FIG. 6 shows the case where the learning device 39 and the reasoning device 41 are built in the robot control device 30, but the learning device 39 and the reasoning device 41 are connected to the robot control device 30 via a network, for example. It may be a device that is connected and separate from the robot controller 30 . Also, the learning device 39 and the reasoning device 41 may exist on a cloud server.
  • the model generation unit 392 may learn the motion path of the robot 10 using learning data acquired from a plurality of robot control devices 30 .
  • the model generation unit 392 may acquire learning data from a plurality of robot control devices 30 used in the same area, or may acquire learning data from a plurality of robot control devices 30 operating independently in different areas.
  • the motion path of the robot 10 may be learned by using learning data obtained from the robot 10 . It is also possible to add or remove the robot control device 30 that collects learning data from the target in the middle.
  • the learning device 39 that has learned the motion path of the robot 10 with respect to a certain robot control device 30 is applied to another robot control device 30, and the motion path of the robot 10 is re-learned with respect to the other robot control device 30. may be updated by
  • the learning device 39 slows down or decelerates the motion of the robot 10 from the states of the person 500, the robot 10, and the peripheral object 520 based on learning data including the motion path of the robot 10 and state data.
  • the motion path of the robot 10 is learned by suppressing being stopped and suppressing contact with the person 500 and pinching of the person 500. - ⁇ As a result, the movement of the robot 10 is prevented from being decelerated or stopped due to the states of the person 500, the robot 10, and the peripheral object 520, and the movement path of the robot 10 can be learned with a reduced degree of influence on the human body. It has the effect of being able to
  • the inference device 41 uses the learned model to suppress the deceleration or stoppage of the motion of the robot 10 based on the states of the person 500, the robot 10, and the surrounding object 520, and A motion path of the robot 10 with reduced influence is inferred and output to the robot control processing unit 32 .
  • the robot control processing unit 32 uses the learned model to suppress the deceleration or stoppage of the motion of the robot 10 based on the states of the person 500, the robot 10, and the surrounding object 520, and A motion path of the robot 10 with reduced influence is inferred and output to the robot control processing unit 32 .
  • FIG. 13 is a block diagram showing an example hardware configuration of the robot control device 30 according to the first and second embodiments.
  • the robot control device 30 can be realized by a hardware configuration including an arithmetic device 301 and a storage device 302.
  • An example of the arithmetic unit 301 is a CPU (Central Processing Unit, central processing unit, processor, microprocessor, microcomputer, processor, DSP (Digital Signal Processor)) or system LSI (Large Scale Integration).
  • Examples of the storage device 302 are RAM (Random Access Memory) or ROM (Read Only Memory).
  • the robot control device 30 is implemented by the arithmetic device 301 reading and executing a program for executing the operation of the robot control device 30 stored in the storage device 302 . It can also be said that this program causes a computer to execute the procedure or method of the robot control device 30, for example, the robot control method shown in FIGS.
  • the storage device 302 stores an operation program, human influence degree information, peripheral object data, an access frequency map, and a learned model.
  • the storage device 302 is also used as a temporary memory when the arithmetic device 301 executes various processes.
  • the program executed by the computing device 301 may be stored in a computer-readable storage medium in an installable or executable format and provided as a computer program product. Also, the program executed by the arithmetic device 301 may be provided to the robot control device 30 via a network such as the Internet.
  • the robot control device 30 may be realized by dedicated hardware. Also, the functions of the robot control device 30 may be partly realized by dedicated hardware and partly by software or firmware.
  • Robot system 10 Robot, 20 Vision sensor, 30 Robot controller, 31 Operation program storage unit, 32 Robot control processing unit, 33 Image recognition processing unit, 34 Human influence level information storage unit, 35 Peripheral object data storage unit, 36 Monitoring processing unit 37 Human analysis processing unit 38 Access frequency map storage unit 39 Learning device 40 Trained model storage unit 41 Inference device 391, 411 Data acquisition unit 392 Model generation unit 393 Reward calculation unit 394 Function update unit, 412 reasoning unit, 500 people, 501 hands, 510 workbench, 520 surrounding objects, 600 image data, 601 small area, 620 robot motion area.

Abstract

ロボット制御装置(30)は、人と作業領域を共有して動作するロボット(10)を制御する。ロボット制御装置(30)は、画像認識処理部(33)と、ロボット制御処理部(32)と、監視処理部(36)と、を備える。画像認識処理部(33)は、ビジョンセンサ(20)から得られる監視領域における計測データを基に、監視領域に存在する人に関する情報である第1情報を認識する。ロボット制御処理部(32)は、ロボット(10)を動作させる動作プログラムに従ってロボット(10)の動作を制御する。監視処理部(36)は、周辺物体データと、画像認識処理部(33)から得られる第1情報と、を基に、ロボット(10)と周辺物体との間への人の挟み込みの可能性を判定する。周辺物体データは、監視領域におけるロボット(10)およびロボット(10)以外の物体である周辺物体の3次元的な配置状態を示すデータである。

Description

ロボット制御装置、学習装置および推論装置
 本開示は、人と作業空間を共有しつつ動作するロボットを制御するロボット制御装置、学習装置および推論装置に関する。
 産業用ロボット等の分野において、人である作業者とロボットとが安全柵で仕切られることなく作業空間を共有した人協調ロボットシステムの開発が進められている。人協調ロボットシステムでは、作業者がロボットの可動範囲に侵入し、両者が干渉してしまう可能性がある。そこで、作業者とロボットとの干渉を防止するための技術が提案されている。
 特許文献1には、カメラで撮像した画像情報から認識したロボットの近傍に存在する作業者とロボットとの距離を測定し、測定した距離が作業者に干渉する距離である場合に、ロボットが作業者のどの部位に、どのように干渉するかを推測し、その結果に基づいてロボットの動作を制限するロボットの制御方法が開示されている。
特開2008-137127号公報
 しかしながら、上記従来の技術によれば、画像情報のみから作業者とロボットとの干渉を推測しているが、作業者およびロボットの周辺に配置されている物体である周辺物体については考慮されていない。すなわち、従来の技術では、ロボットと周辺物体との間への作業者の挟み込みの可能性が考慮されていないという問題があった。例えば、ロボットと周辺物体との間に作業者の体の一部が存在する状態で、作業者とロボットとの距離から作業者とロボットとの干渉の態様を推測した結果、ロボットの動作を低速にした場合に、周辺物体の存在を考慮していないために、ロボットと周辺物体との間に作業者の体の一部が挟まれてしまう可能性がある。
 本開示は、上記に鑑みてなされたものであって、ロボットと周辺物体との間への人の挟み込みの発生を抑制することができるロボット制御装置を得ることを目的とする。
 上述した課題を解決し、目的を達成するために、本開示は、人と作業領域を共有して動作するロボットを制御するロボット制御装置であって、画像認識処理部と、ロボット制御処理部と、監視処理部と、を備える。画像認識処理部は、ビジョンセンサから得られる監視領域における計測データを基に、監視領域に存在する人に関する情報である第1情報を認識する。ロボット制御処理部は、ロボットを動作させる動作プログラムに従ってロボットの動作を制御する。監視処理部は、周辺物体データと、画像認識処理部から得られる第1情報と、を基に、ロボットと周辺物体との間への人の挟み込みの可能性を判定する。周辺物体データは、監視領域におけるロボットおよびロボット以外の物体である周辺物体の3次元的な配置状態を示すデータである。
 本開示にかかるロボット制御装置は、ロボットと周辺物体との間への人の挟み込みの発生を抑制することができるという効果を奏する。
実施の形態1に係るロボット制御装置を含むロボットシステムの構成の一例を示すブロック図 人体影響度情報の一例を示す図 実施の形態1に係るロボット制御方法の手順の一例を示すフローチャート 実施の形態1に係るロボット制御方法の手順の一例を示すフローチャート 人とロボットと周辺物体との関係を示す図 実施の形態2に係るロボット制御装置を含むロボットシステムの構成の一例を示すブロック図 アクセス頻度マップの生成方法を説明するための図 アクセス頻度マップの一例を示す図 実施の形態2に係るロボット制御装置における学習装置の構成の一例を示すブロック図 実施の形態2に係るロボット制御装置が有する学習装置の学習処理の手順の一例を示すフローチャート 実施の形態2に係るロボット制御装置における推論装置の構成の一例を示すブロック図 実施の形態2に係るロボット制御装置が有する推論装置の推論処理の手順の一例を示すフローチャート 実施の形態1,2にかかるロボット制御装置のハードウェア構成の一例を示すブロック図
 以下に、本開示の実施の形態にかかるロボット制御装置、学習装置および推論装置を図面に基づいて詳細に説明する。
実施の形態1.
 図1は、実施の形態1に係るロボット制御装置を含むロボットシステムの構成の一例を示すブロック図である。ロボットシステム1は、ロボット10と、ビジョンセンサ20と、ロボット制御装置30と、を備える。
 ロボット10は、一例では、複数のアームと、各アームの結合点である各関節に設けられ、関節角度を制御する駆動部と、を有する。ロボット10は、ロボット制御装置30からの動作指令に応じて、様々な姿勢をとることが可能である。様々な姿勢をとることで、ロボット10の固定位置を中心とした、予め定められた範囲の位置で動作が可能となる。駆動部の一例は、サーボモータもしくはステッピングモータに代表される電動モータ、または空気圧もしくは油圧を利用したシリンダである。
 ビジョンセンサ20は、ロボット10を含む予め定められた領域、すなわちロボットシステム1の監視領域を撮像する。ビジョンセンサ20は、監視領域における物体の奥行きを含む距離画像と、人と人以外の周辺物とを区別するカラー画像と、を含む計測データを取得することができるセンサである。ビジョンセンサ20の一例は、2次元カメラまたは3次元カメラである。2次元カメラでカラー情報を取得することができ、3次元カメラで位置情報を取得することができる。3次元カメラの撮像方式に、ステレオ方式、飛行時間(Time of Flight:ToF)方式またはプロジェクタ方式を用いることができる。
 ロボットシステム1の監視領域には、ロボット10の他にも周辺物体が配置されているものとする。周辺物体の一例は、テーブル、壁、棚、扉、加工機である。
 ロボット制御装置30は、予め定められたロボット10を動作させるプログラムである動作プログラムに従ってロボット10の動作を制御する。ロボット制御装置30は、ロボット10の制御処理中に、ビジョンセンサ20での撮像結果に基づいて、ロボット10の周辺に人が存在する場合に、ロボット10と人とが接触しないようにロボット10の動作を制御する。ロボット制御装置30は、動作プログラム記憶部31と、ロボット制御処理部32と、画像認識処理部33と、人体影響度情報記憶部34と、周辺物体データ記憶部35と、監視処理部36と、を備える。
 動作プログラム記憶部31は、ロボット10の動作を記述した動作プログラムを記憶する。
 ロボット制御処理部32は、動作プログラム記憶部31から動作プログラムをロードして実行し、実行結果に従ってロボット10を制御する。また、ロボット制御処理部32は、動作プログラムに従ってロボット10を制御しているときに、監視処理部36によってロボット10の動作の制限の指令が出された場合に、指令に従ってロボット10を制御する。
 画像認識処理部33は、ビジョンセンサ20から得られる監視領域における計測データを基に、監視領域に存在する人に関する情報である第1情報を認識する。計測データの一例は、距離画像またはカラー画像である。一例では、画像認識処理部33は、計測データのうちのカラー画像を用いて、人が監視領域に存在するかを判定し、人が監視領域に存在する場合に、人体部位を認識する。人体部位は、頭、胴体、上腕、前腕、手、大腿、下腿、足等である。画像認識処理部33は、人体部位を予め記憶したデータと計測データとを照らし合わせることで、人体部位を認識することができる。画像認識処理部33は、人が監視領域に存在する場合に、計測データのうちの距離画像を用いて、認識された人の位置および姿勢、より具体的には人体部位についての位置および姿勢を含む情報である第1位置姿勢情報と、人の状態を含む情報である第1状態情報と、を認識する。第1位置姿勢情報は、ビジョンセンサ20で計測された計測データで使用される座標系であるカメラ座標系における、人および人体部位の位置および姿勢を示す。第1状態情報は、人体部位がどのような動作をしているかを示す情報であり、一例では人体部位の移動方向および速度を含む情報である。停止している場合には、移動方向および速度は「0」となる。第1位置姿勢情報および第1状態情報は、第1情報に含まれる。また、画像認識処理部33は、ロボット10についても同様に、ロボットに関する情報である第2情報をさらに認識してもよい。第2情報は、ロボット10の部位について、位置および姿勢を含む情報である第2位置姿勢情報と、状態を含む情報である第2状態情報である第2状態情報を含む。
 人体影響度情報記憶部34は、ロボット10と人とが接触した場合の人体への影響の度合を示す情報である人体影響度情報を記憶する。人体影響度情報は、人体部位毎にロボット10と接触した場合の人体へ与える影響度が規定される。図2は、人体影響度情報の一例を示す図である。人体影響度情報は、一例では、人とロボット10との接触の状態を入力データとし、人体へ与える影響度を出力データとする情報である。図2の例では、入力データは、人の接触部位、人の状態、ロボット10の接触部位およびロボット10の状態の項目を有する。なお、図2の入力データの項目は一例であり、これらに限られるものではない。出力データは、人体へ与える影響度の項目を有する。入力データを構成する各項目は、画像認識処理部33による認識処理の結果と、監視処理部36による特定処理の結果得られる情報である。人体へ与える影響度の一例は、人体へ与える衝撃の度合、人体の負傷または損傷の度合である。例えば、人体に損傷を与える場合には、人体へ与える影響度は「高い」とされ、人体に損傷を与えない場合には、人体へ与える影響度は「低い」とされる。図2の例では、人の接触部位が「頭」であり、人の状態が「移動中」であり、ロボット10の接触部位が「全ての部位」であり、ロボット10の状態が「移動速度>0.0m/s」である場合には、人体へ与える影響度が「高い」となる。人体影響度情報は、一例では、ISO/TS(International Organization for Standardization/Technical Specifications) 15066:2016の表A.2に示される「Biomechanical limits」である。
 周辺物体データ記憶部35は、監視領域に存在するロボット10と、ロボット10以外の物体である周辺物体と、についての3次元的な配置状態を含む情報である周辺物体データを記憶する。周辺物体データは、物体の形状および大きさを示す3次元CAD(Computer-Aided Design)データと、物体が設置されている位置および姿勢を示す位置姿勢データと、を含む。位置姿勢データは、一例では、ロボット10の据付位置を基準にした位置および姿勢を示すデータである。周辺物体データは、監視領域におけるロボット10を含む物体の配置状態を3次元で再現することが可能なデータある。周辺物体データは、周辺物体データで使用される座標系であるロボット座標系を用いて表現される。
 監視処理部36は、画像認識処理部33での認識結果を用いて、人とロボット10との距離、接触の可能性の有無および接触時の影響度を考慮して、ロボット10が人に影響を与える可能性がある場合に、ロボット10の動作を制限する指令をロボット制御処理部32に出力する。具体的な各処理を、以下に説明する。
 監視処理部36は、画像認識処理部33での認識結果に基づいて、人とロボット10との間の距離である計測距離を計測する。監視処理部36は、計測距離がロボット10の動作によってロボット10と人とが接触しない距離である非接触距離であるかを判定する。非接触距離は、ビジョンセンサ20で撮像された時点からロボット10を停止させるにはどの方向にどのくらいの距離が必要なのかを示すデータである動作停止データから取得される。これによって、監視処理部36は、ロボット10が停止するまでに惰走する距離も含めた人とロボット10との間の計測距離を計測する。監視処理部36は、計測距離が非接触距離である場合には、ロボット10に対する制限を行わず、現状の運転を継続させる。監視処理部36は、計測距離が非接触距離ではない場合には、ロボット10の動作速度が遅くなるように変更する指令をロボット制御処理部32に送信する。
 監視処理部36は、計測距離が非接触距離ではない場合、すなわち人とロボット10とが接触する可能性のある距離である場合には、ロボット10が人と接触する動作であるかを判定する。一例では、監視処理部36は、画像認識処理部33での認識結果である人の第1情報と、ロボット10の第2情報と、からロボット10が人と接触するか否かを判定する。上記したように、第1情報は、人体部位の第1位置姿勢情報および第1状態情報を含み、第2情報は、ロボット10の部位の第2位置姿勢情報および第2状態情報を含む。また、監視処理部36は、ロボット10が人と接触する場合には、人体部位の予測した動作と、ロボット10の予測した動作と、から、ロボット10と人体部位との接触部位および接触の状態を予測する。一例では、監視処理部36は、接触する人体部位およびロボット10の部位、並びに姿勢を含む接触時位置姿勢情報と、接触する人体部位およびロボット10の状態である接触時状態情報と、を特定する。接触時位置姿勢情報は、一例では、ロボット10と接触する人体部位および接触角度と、人と接触するロボット10の部位および接触角度と、を含む。接触時状態情報は、接触時に人体およびロボット10の部位の移動方向および速度を含む。接触時状態情報において、移動方向および速度がともに「0」である場合には、停止している場合を示している。
 ロボット10が人と接触する動作を判定する際に、ロボット10の部位の第2位置姿勢情報および第2状態情報は、画像認識処理部33での認識結果ではなく、ロボット制御処理部32で動作プログラムに従ってロボット10を動作させたシミュレーションの結果を用いてもよい。監視処理部36は、ロボット10が人と接触しない場合には、ロボット10の動作に対する制限が行われたままで動作を継続させる。
 監視処理部36は、ロボット10が人と接触する場合に、特定したロボット10および人の接触する部位と状態とから、人体影響度情報記憶部34の人体影響度情報を参照して、人体へ与える影響度を抽出する。すなわち、監視処理部36は、接触時位置姿勢情報および接触時状態情報との組み合わせに対応する人体影響度情報を抽出する。そして、監視処理部36は、取得した人体へ与える影響度に応じてロボット10の動作の指令をロボット制御処理部32に出力する。一例では、監視処理部36は、人体へ与える影響度が高い場合には、ロボット10の動作をさらに制限する指令をロボット制御処理部32に送信する。ロボット10の動作の制限の一例は、ロボット10の停止、人から離れる方向へのロボット10の動作等である。
 また、監視処理部36は、ロボット10と人との接触が人体へ与える影響度が高くないものである場合に、監視領域におけるロボット10および周辺物体の3次元的な配置状態を示す周辺物体データと、画像認識処理部33から得られる第1情報と、を基に、ロボット10と周辺物体との間への人の挟み込みの可能性を判定し、ロボット10の動作のさらなる制限または警告音の出力が必要であるか否かを判定する。ロボット10と周辺物体との間への人の挟み込みの可能性については、監視処理部36が、監視領域におけるロボット10および周辺物体の位置、形状および大きさを含む周辺物体データ上に、第1情報に基づいて人の位置情報を追加し、第1情報に基づいて人とロボット10との動作を予測することによって行われる。また、監視処理部36は、第1情報だけでなく第2情報を含めて、ロボット10と周辺物体との間への人の挟み込みの可能性を判定してもよい。この場合には、監視処理部36は、第2位置姿勢情報および第2状態情報を含む第2情報から、ロボット10の動作を予測する。
 具体的には、監視処理部36は、画像認識処理部33で認識したカメラ座標系の人の位置情報、すなわち人体の各部位の位置情報を、ロボット座標系の周辺物体データ上に追加し、人の動作およびロボット10の動作をシミュレーションして、ロボット10と周辺物体との間への人の挟み込みが発生するかを判定する。このとき、カメラ座標系とロボット座標系とのキャリブレーションが事前に実施される。これによって、カメラ座標系とロボット座標系との座標変換行列が算出される。この座標変換行列を用いることで、ビジョンセンサ20で認識したカメラ座標系における人の位置を、ロボット座標系に変換することができる。また、周辺物体の位置および姿勢についても、ロボット10を基準にした座標を用いて表される。したがって、監視処理部36は、ロボット10と周辺物体と人との位置関係をロボット座標系で把握することができ、この位置関係から人が挟み込まれてしまう位置にいるかどうかを判定する。人の動作のシミュレーションは、第1情報に基づいて行うことができる。また、ロボット10の動作のシミュレーションは、動作プログラムを用いて、または第2情報に基づいて行うことができる。
 監視処理部36は、人の挟み込みの可能性がない場合には、ロボット10の動作に対する制限が行われたままで動作を継続させる。すなわち、監視処理部36は、さらなる動作制限を行わない。また、監視処理部36は、人の挟み込みの可能性がある場合には、ロボット10の停止、人から離れる方向へのロボット10の動作等のロボット10の動作を制限する指令をロボット制御処理部32に出力したり、警告音を出力したりする。
 次に、このような構成を有するロボットシステム1におけるロボット制御装置30の動作について説明する。図3および図4は、実施の形態1に係るロボット制御方法の手順の一例を示すフローチャートである。なお、ここでは、監視領域内に人が存在することを前提とした処理について説明する。
 まず、ビジョンセンサ20は、監視領域を撮像し、撮像したデータを計測データとしてロボット制御装置30に送信する。ロボット制御装置30の画像認識処理部33は、受信した計測データから、監視領域に存在する人の人体部位の第1位置姿勢情報および第1状態情報を認識する(ステップS11)。第1位置姿勢情報は、人体部位の位置と姿勢を含む情報であり、第1状態情報は、人体部位の状態を含む情報である。次いで、監視処理部36は、画像認識処理部33で認識された人体部位の第1位置姿勢情報および第1状態情報を用いて、認識された人とロボット10との計測距離を計測する(ステップS12)。
 その後、監視処理部36は、計測距離が人とロボット10とが接触しない非接触距離であるかを判定する(ステップS13)。一例では、非接触距離は、ビジョンセンサ20で撮像された状態から、ロボット10が停止信号を受けて、ロボット10が停止するまでに移動する距離である。計測距離が非接触距離よりも大きい場合には、ロボット10は人と接触せず、計測距離が非接触距離よりも小さい場合には、ロボット10は人と接触する可能性がある。
 計測距離が非接触距離よりも大きい場合(ステップS13でYesの場合)には、ロボット10が人と接触する可能性がないので、監視処理部36は、ロボット10の動作を制限せず、現在の動作プログラムでの動作を継続し、処理が終了する。
 また、計測距離が非接触距離よりも小さい場合(ステップS13でNoの場合)には、監視処理部36は、ロボット10の動作速度を変更する指令をロボット制御処理部32に出力する(ステップS14)。ロボット制御処理部32は、指令を受信すると、ロボット10の動作速度を指令に従って変更する(ステップS15)。具体的には、監視処理部36は、ロボット10の動作速度を減速させるために、ロボット制御処理部32に減速指令を出力する。減速指令に含まれるロボット10の動作速度は、ロボット10が人と接触しても、接触した部位で人体にほとんど影響を与えない程度の動作速度であり、一例では、0.25m/sである。
 次いで、監視処理部36は、画像認識処理部33での認識結果を用いて、ロボット10の動作が人と接触する可能性があるかを判定する(ステップS16)。一例では、ステップS11で画像認識処理部33はロボット10の部位の第2位置姿勢情報および第2状態情報を認識し、人体部位の第1位置姿勢情報および第1状態情報と、ロボット10の部位の第2位置姿勢情報および第2状態情報と、を用いて人およびロボット10の動作を予測し、ロボット10と人との接触の可能性を判定する。あるいは他の例では、ロボット10を動作プログラムに従って動作させるシミュレーションと、人体部位の第1位置姿勢情報および第1状態情報を用いた予測と、を合わせてロボット10と人との接触の可能性を判定する。
 ロボット10の動作が人と接触する可能性がないと判定された場合(ステップS16でNoの場合)には、監視処理部36は、ステップS15で変更されたロボット10の動作速度を維持した状態で、ロボット10の動作を継続させ、処理が終了する。また、ロボット10の動作が人と接触する可能性があると判定された場合(ステップS16でYesの場合)には、監視処理部36は、画像認識処理部33での認識結果を用いてロボット10および人体部位の接触時位置姿勢情報を特定する(ステップS17)。また、監視処理部36は、画像認識処理部33での認識結果を用いてロボット10および人体の接触時状態情報を取得する(ステップS18)。人体の接触時状態情報の一例は、頭の向きと移動速度、肩の向きと移動速度等である。同様にロボット10の接触時状態情報の一例は、アーム先端部の向きと移動速度等である。
 その後、監視処理部36は、ロボット10および人体の接触時位置姿勢情報と接触時状態情報とから、人体影響度情報を参照して人体へ与える影響度を取得する(ステップS19)。具体的には、監視処理部36は、ロボット10および人体の接触時位置姿勢情報と接触時状態情報との組み合わせを入力データとし、人体影響度情報から入力データに対応する人体へ与える影響度である出力データを取得する。監視処理部36は、人体へ与える影響度が予め定められた基準値よりも高いかを判定する(ステップS20)。人体へ与える影響度が基準値よりも高い場合には、人体に対する損傷等の影響が大きく、人体へ与える影響度が基準値以下である場合には、人体に対する損傷等の影響が軽微である。人体へ与える影響度は、ロボット10が接触する人体部位が急所であるか否か、およびロボット10の動作速度、接触する可能性がある人体部位、位置、状態等の情報に関連付けられている。
 人体へ与える影響度が基準値以下の場合(ステップS20のNoの場合)には、監視処理部36は、画像認識処理部33で認識された人の位置情報を、周辺物体データに追加し(ステップS21)、周辺物体を含めた環境下でロボット10および人の動作を予測する(ステップS22)。監視処理部36は、一例では、周辺物体データを用いて、ロボット10と人との動作をシミュレーションする。このとき、ロボット10並びに人体の接触時位置姿勢情報および接触時状態情報、動作プログラム等を使用することができる。
 監視処理部36は、予測の結果、人とロボット10と周辺物体との3つの関係性から、ロボット10と周辺物体との間への人の挟み込みの可能性があるかを判定する(ステップS23)。図5は、人とロボットと周辺物体との関係を示す図である。この図では、ロボット10と周辺物体である作業台510との間の領域が挟み込み可能性領域R1となり、挟み込み可能性領域R1に人500の手501が存在する場合を示している。このような場合には、ロボット10と作業台510との間に人500の手501が挟み込まれる可能性があると判定される。
 ロボット10と周辺物体との間への人の挟み込みの可能性がある場合(ステップS23でYesの場合)、またはステップS20で人体へ与える影響度が基準値よりも高い場合(ステップS20のYesの場合)には、監視処理部36は、人とロボット10とが接触しないようにロボット10の動作を制限する指令を、ロボット制御処理部32へ出力する(ステップS24)。ロボット制御処理部32は、指令を受けると、指令に基づいてロボット10の動作を制限する(ステップS25)。ロボット10の動作の制限には、ロボット10の動作の停止、さらなる減速、人から離れる方向へのロボット10の動作等がある。なお、ステップS24,S25では、監視処理部36は、ロボット10の動作を制限する指令をロボット制御処理部32へ出力し、ロボット制御処理部32は、ロボット10の動作を制限する場合を示したが、ステップS24で、監視処理部36が、警告音を出力してもよい。以上で、処理が終了する。
 ロボット10と周辺物体との間への人の挟み込みの可能性がない場合(ステップS23でNoの場合)には、人体への影響がそれほど重大ではないと認識し、ロボット10の動作を現状のままとして、処理が終了する。
 実施の形態1のロボット制御装置30によれば、画像認識処理部33でビジョンセンサ20からの測定データを用いて、監視領域に存在する人の人体部位の第1位置姿勢情報および第1状態情報を取得する。監視処理部36は、ロボット10と周辺物体とについての3次元的な配置状態、形状および大きさを含む周辺物体データに人の位置を加え、人およびロボット10の動作を予測し、ロボット10と周辺物体との間への人の挟み込みの可能性があるか判定する。ロボット10と周辺物体との間への人の挟み込みの可能性がある場合には、ロボット10と周辺物体との間に人が挟み込まれないように、ロボット10の動作を制限する指令をロボット制御処理部32に出力する。これによって、ロボット10による人への接触の影響度が小さい場合でも、ロボット10と周辺物体との間で、ロボット10の動作の継続によって人が挟み込まれ、人体へ与える影響度を大きくしまう可能性を抑制することができる。また、ロボット10の人への接触によって人に大きな被害を与えることがなくなるので、人と近い距離で使用することができ、汎用性の高いロボット10を実現することができる。
実施の形態2.
 従来では、ロボット10と周辺物体とが配置される領域に人が存在する場合に、ロボット10が人と接触する可能性、およびロボット10と周辺物体との間への人の挟み込みの可能性を低減しながら、目的位置までのロボット10の動作経路をなるべく短くする技術については提案されていなかった。実施の形態2では、ロボット10が人と接触する可能性、およびロボット10と周辺物体との間への人の挟み込みの可能性を低減しながら、目的位置までのロボット10の動作経路をなるべく短くすることができるロボット制御装置について説明する。
 図6は、実施の形態2に係るロボット制御装置を含むロボットシステムの構成の一例を示すブロック図である。なお、実施の形態1と同一の構成要素には同一の符号を付して、その説明を省略する。ロボット制御装置30は、実施の形態1の構成に、人分析処理部37と、アクセス頻度マップ記憶部38と、学習装置39と、学習済モデル記憶部40と、推論装置41と、をさらに備える。
 人分析処理部37は、画像認識処理部33での認識結果から、予め定められた期間における監視領域内での人のアクセス状況を示す情報であるアクセス頻度マップを生成する。図7は、アクセス頻度マップの生成方法を説明するための図である。図7には、ビジョンセンサ20で撮像された監視領域の画像データ600が示されている。ここでは、監視領域を上方から撮像した画像データ600が示されている。監視領域の画像データ600は、矩形状の複数の小領域601に分割されている。図7の画像データ600では、略下半分がロボット10および周辺物体520が配置される領域であり、略上半分が人500が移動可能な領域610である。また、ロボット10の位置を中心とした円状の領域がロボット10の部位が動作することができる範囲であるロボット動作領域620である。
 初期状態では、各小領域601のアクセス頻度は0である。人分析処理部37は、画像認識処理部33で認識された人500の位置がどの小領域601に属するかを判定し、人500が属する小領域601のアクセス頻度に「1」を加算する。人分析処理部37は、この処理を、予め定められた期間について行うことによってアクセス頻度マップを生成する。
 図8は、アクセス頻度マップの一例を示す図である。図8では、図7の監視領域の画像データ600からアクセス頻度マップが生成されたものとする。図8に示されるように、上記の処理を行うことによって、各小領域601に人500が属した頻度が表される。アクセス頻度マップを参照することで、監視領域において、どの位置に人500が存在する可能性が高いかを知ることができる。
 アクセス頻度マップ記憶部38は、人分析処理部37で生成された監視領域におけるアクセス頻度マップを記憶する。アクセス頻度マップは、機械学習のために準備されるデータである。
 学習装置39は、ロボット10の動作経路と、人500、ロボット10および周辺物体520の状態と、に基づいて、ロボット10の動作が減速または停止されることを抑制し、かつロボット10の人500への接触およびロボット10と周辺物体520との間への人500の挟み込みを抑制したロボット10の動作経路を学習する学習済モデルを生成する。
 学習済モデル記憶部40は、学習装置39によって学習された学習済モデルを記憶する。
 推論装置41は、学習済モデル記憶部40に記憶されている学習済モデルに、ロボット10の目的位置と、ロボット10、人500および周辺物体520の状態と、を入力することで、ロボット10、人500および周辺物体520の状態に適したロボット10の動作経路を推論する。
 以下に、学習装置39での学習と推論装置41での推論について、詳しく説明する。
<学習フェーズ>
 図9は、実施の形態2に係るロボット制御装置における学習装置の構成の一例を示すブロック図である。学習装置39は、データ取得部391と、モデル生成部392と、を備える。
 データ取得部391は、ロボット10の動作経路と、人500、ロボット10および周辺物体の状態を示す状態データと、を学習用データとして取得する。状態データは、人500の第1情報、ロボット10の目的位置および第2情報、並びに周辺物体データを含む。ここでは、第1情報が、第1位置姿勢情報であり、第2情報が、第2位置姿勢情報である場合を説明する。ロボット10の動作経路および目的位置は、動作プログラムをシミュレーションすることで得ることができる。ロボット10の動作経路は、人500、ロボット10および周辺物体520の状態における、すなわち人500の第1位置姿勢情報、ロボット10の目的位置および第2位置姿勢情報、および周辺物体データの組み合わせにおける動作経路である。
 モデル生成部392は、ロボット10の動作経路と、状態データと、を含む学習用データに基づいて、ロボット10、人500および周辺物体520の状態からロボット10の動作が減速または停止されることを抑制し、かつロボット10の人500への接触およびロボット10と周辺物体520との間への人500の挟み込みを抑制したロボット10の動作経路を学習する。すなわち、人500、ロボット10および周辺物体520の状態から人500への接触および人500の挟み込みの可能性を低減したロボット10の動作経路を推論するための学習済モデルを生成する。
 モデル生成部392が用いる学習アルゴリズムは教師あり学習、教師なし学習、強化学習等の公知のアルゴリズムを用いることができる。一例として、強化学習(Reinforcement Learning)を適用した場合について説明する。強化学習では、ある環境内における行動主体であるエージェントが、現在の状態である環境のパラメータを観測し、取るべき行動を決定する。エージェントの行動により環境が動的に変化し、エージェントには環境の変化に応じて報酬が与えられる。エージェントはこれを繰り返し、一連の行動を通じて報酬が最も多く得られる行動方針を学習する。強化学習の代表的な手法として、Q学習(Q-learning)、TD学習(TD-learning)等が知られている。例えば、Q学習の場合、行動価値関数Q(s,a)の一般的な更新式は次式(1)で表される。
Figure JPOXMLDOC01-appb-M000001
 (1)式において、stは時刻tにおける環境の状態を表し、atは時刻tにおける行動を表す。行動atにより、状態はst+1に変わる。rt+1はその状態の変化によってもらえる報酬を表し、γは割引率を表し、αは学習係数を表す。なお、γは0<γ≦1の範囲とし、αは0<α≦1の範囲とする。ロボット10の動作経路が行動atとなり、人500、ロボット10および周辺物体520の状態が状態stとなり、時刻tの状態stにおける最良の行動atを学習する。
 (1)式で表される更新式は、時刻t+1における最もQ値の高い行動aの行動価値Qが、時刻tにおいて実行された行動aの行動価値Qよりも大きければ、行動価値Qを大きくし、逆の場合には、行動価値Qを小さくする。換言すれば、時刻tにおける行動aの行動価値Qを、時刻t+1における最良の行動価値Qに近づけるように、行動価値関数Q(s,a)を更新する。それにより、或る環境における最良の行動価値Qが、それ以前の環境における行動価値Qに順次伝播していくようになる。
 上記のように、強化学習によって学習済モデルを生成する場合、モデル生成部392は、報酬計算部393と、関数更新部394と、を備えている。
 報酬計算部393は、ロボット10の動作経路と、人500、ロボット10および周辺物体520の状態と、に基づいて報酬を計算する。報酬計算部393は、ロボット10の動作時間と、ロボット10が人500に接触した場合の人体へ与える影響度と、ロボット動作領域620内における人500のアクセス頻度と、のうちの少なくとも1つの報酬基準に基づいて、報酬rを計算する。ロボット10の動作時間は、一例では、ある位置Aから目的位置である別の位置Bへと移動するまでにかかる時間である。ロボット10の動作時間は短いほど、生産性が高くなるため、短い方が好ましい。動作時間を短くする方法として、ロボット10の動作速度を上げる方法、ロボット10の動作経路を短くする方法が考えられる。
 例えば、ロボット10の動作時間が減少する場合、接触時の人体へ与える影響度が低い場合、あるいは人500のアクセス頻度が低い場合には、報酬計算部393は報酬rを増大させる。一例では、報酬計算部393は、報酬の値である「1」を与えることによって報酬rを増大させる。なお、報酬の値は「1」に限られない。他方、ロボット10の動作時間が増加する場合、接触時の人体へ与える影響度が高い場合、あるいは人500のアクセス頻度が高い場合には、報酬計算部393は報酬rを低減させる。一例では、報酬計算部393は、報酬の値である「-1」を与えることによって報酬rを低減させる。なお、報酬の値は「-1」に限られない。
 また、報酬基準として、ロボット10の動作時間と、ロボット10が人500に接触した場合の人体へ与える影響度と、ロボット動作領域620内における人500のアクセス頻度と、を組み合わせることによって、効率的な学習が可能である。
 関数更新部394は、報酬計算部393によって計算される報酬に従って、ロボット10の動作経路を決定するための関数を更新し、学習済モデル記憶部40に出力する。例えばQ学習の場合、(1)式で表される行動価値関数Q(st,at)がロボット10の動作経路を算出するための関数として用いられる。以上のような学習を繰り返し実行する。
 学習済モデル記憶部40は、関数更新部394によって更新された行動価値関数Q(st,at)、すなわち、学習済モデルを記憶する。
 次に、学習装置39が学習する処理について説明する。図10は、実施の形態2に係るロボット制御装置が有する学習装置の学習処理の手順の一例を示すフローチャートである。
 まず、データ取得部391は、ロボット10の動作経路と、人500、ロボット10および周辺物体520の状態を示す状態データと、を学習用データとして取得する(ステップS51)。状態データは、一例では、人500の第1位置姿勢情報、ロボット10の目的位置および第2位置姿勢情報、並びに周辺物体データを含む。
 ついで、モデル生成部392は、ロボット10の動作経路と、人500、ロボット10および周辺物体520の状態を示す状態データと、に基づいて報酬を計算し、報酬を増大させるかを判定する(ステップS52)。具体的には、報酬計算部393は、ロボット10の動作経路と、人500、ロボット10および周辺物体520の状態と、を取得し、ロボット10の動作時間、ロボット10が人500に接触した場合の人体へ与える影響度、およびロボット動作領域620内における人500のアクセス頻度のうちの少なくとも1つである予め定められた報酬基準に基づいて報酬を増加させるかまたは報酬を減じるかを判定する。
 ステップS52で報酬を増大させると判定した場合には、報酬計算部393は、報酬を増大させる(ステップS53)。一方、ステップS52で報酬を減少させると判定した場合には、報酬計算部393は、報酬を減少させる(ステップS54)。
 ステップS53またはS54の後、関数更新部394は、報酬計算部393によって計算された報酬に基づいて、学習済モデル記憶部40が記憶する(1)式で表される行動価値関数Q(st,at)を更新する(ステップS55)。
 学習装置39は、以上のステップS51からS55までの処理を繰り返し実行し、生成された行動価値関数Q(st,at)を学習済モデルとして学習済モデル記憶部40に記憶する。
 実施の形態2に係る学習装置39は、学習済モデルを学習装置39の外部に設けられた学習済モデル記憶部40に記憶するものとしたが、学習済モデル記憶部40を学習装置39の内部に備えていてもよい。
<活用フェーズ>
 図11は、実施の形態2に係るロボット制御装置における推論装置の構成の一例を示すブロック図である。推論装置41は、データ取得部411と、推論部412と、を備える。
 データ取得部411は、人500、ロボット10および周辺物体520の状態を示す状態データを取得する。状態データは、一例では、人500の第1位置姿勢情報、ロボット10の目的位置および第2位置姿勢情報、並びに周辺物体データを含む。
 推論部412は、学習済モデルを利用してロボット10の動作経路を推論する。すなわち、この学習済モデルに、データ取得部411が取得した状態データ、すなわち人500、ロボット10および周辺物体520の状態を入力することで、ロボット10の動作経路、より具体的には人500、ロボット10および周辺物体520の状態に適したロボット10の動作経路を推論することができる。
 なお、ここでは、ロボット制御装置30の学習装置39のモデル生成部392で学習した学習済モデルを用いてロボット10の動作経路を出力するものとして説明したが、他のロボットシステム1から学習済モデルを取得し、この学習済モデルに基づいてロボット10の動作経路を出力するようにしてもよい。
 次に、推論装置41がロボット10の動作経路を得るための処理を説明する。図12は、実施の形態2に係るロボット制御装置が有する推論装置の推論処理の手順の一例を示すフローチャートである。
 まず、データ取得部411は、人500、ロボット10および周辺物体520の状態を示す状態データを推論用データとして取得する(ステップS71)。
 ついで、推論部412は、学習済モデル記憶部40に記憶された学習済モデルに、推論用データである状態データ、すなわち人500、ロボット10および周辺物体520の状態を入力し(ステップS72)、ロボット10の動作経路を得る。その後、推論部412は、データである得られたロボット10の動作経路をロボット制御処理部32に出力する(ステップS73)。
 そして、ロボット制御処理部32は、出力されたロボット10の動作経路を用いて、ロボット10を制御する(ステップS74)。これによって、ロボット10の動作が減速または停止されることが抑制され、かつ人体へ与える影響度が低減され、人500の人体へ与える影響度および人500の挟み込みの抑制とロボット10の稼働率の向上とを両立したロボット10の制御が可能となり、汎用性の高いロボットシステム1を実現することができる。
 なお、実施の形態2では、推論部412が用いる学習アルゴリズムに強化学習を適用した場合について説明したが、これに限られるものではない。学習アルゴリズムについては、強化学習以外にも、教師あり学習、教師なし学習、または半教師あり学習等を適用することも可能である。
 また、モデル生成部392に用いられる学習アルゴリズムとしては、特徴量そのものの抽出を学習する、深層学習(Deep Learning)を用いることもでき、他の公知の方法、例えばニューラルネットワーク、遺伝的プログラミング、機能論理プログラミング、サポートベクターマシンなどに従って機械学習を実行してもよい。
 なお、図6では、学習装置39および推論装置41は、ロボット制御装置30に内蔵されている場合を示したが、学習装置39および推論装置41は、例えば、ネットワークを介してロボット制御装置30に接続され、このロボット制御装置30とは別個の装置であってもよい。また、学習装置39および推論装置41は、クラウドサーバ上に存在していてもよい。
 さらに、モデル生成部392は、複数のロボット制御装置30から取得される学習用データを用いて、ロボット10の動作経路を学習するようにしてもよい。なお、モデル生成部392は、同一のエリアで使用される複数のロボット制御装置30から学習用データを取得してもよいし、異なるエリアで独立して動作する複数のロボット制御装置30から収集される学習用データを利用してロボット10の動作経路を学習してもよい。また、学習用データを収集するロボット制御装置30を途中で対象に追加したり、対象から除去したりすることも可能である。さらに、あるロボット制御装置30に関してロボット10の動作経路を学習した学習装置39を、これとは別のロボット制御装置30に適用し、当該別のロボット制御装置30に関してロボット10の動作経路を再学習して更新するようにしてもよい。
 実施の形態2では、学習装置39が、ロボット10の動作経路と、状態データと、を含む学習用データに基づいて、人500、ロボット10および周辺物体520の状態からロボット10の動作が減速または停止されることを抑制し、かつ人500への接触および人500の挟み込みを抑制したロボット10の動作経路を学習する。これによって、人500、ロボット10および周辺物体520の状態からロボット10の動作が減速または停止されてしまうことを抑制し、かつ人体へ与える影響度を低減したロボット10の動作経路を学習することができるという効果を有する。
 また、実施の形態2では、推論装置41が、学習済モデルを用いて、人500、ロボット10および周辺物体520の状態からロボット10の動作が減速または停止されることを抑制し、かつ人体へ与える影響度を低減したロボット10の動作経路を推論し、ロボット制御処理部32に出力する。これによって、人体へ与える影響度の低減とロボット10の可動率の向上とを両立した汎用性の高いロボットシステム1を実現することができる。
 ここで、図1および図6に示したロボット制御装置30のハードウェア構成について説明する。図13は、実施の形態1,2にかかるロボット制御装置30のハードウェア構成の一例を示すブロック図である。
 ロボット制御装置30は、演算装置301および記憶装置302を含むハードウェア構成によって実現することができる。演算装置301の例は、CPU(Central Processing Unit、中央処理装置、処理装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサ、DSP(Digital Signal Processor)ともいう)またはシステムLSI(Large Scale Integration)である。記憶装置302の例は、RAM(Random Access Memory)またはROM(Read Only Memory)である。
 ロボット制御装置30は、演算装置301が、記憶装置302で記憶されている、ロボット制御装置30の動作を実行するためのプログラムを読み出して実行することで実現される。また、このプログラムは、ロボット制御装置30の手順または方法、一例では、図3および図4に示されるロボット制御方法をコンピュータに実行させるものであるともいえる。
 記憶装置302は、動作プログラム、人体影響度情報、周辺物体データ、アクセス頻度マップおよび学習済モデルを記憶する。記憶装置302は、演算装置301が各種処理を実行する際の一時メモリにも使用される。
 演算装置301が実行するプログラムは、インストール可能な形式または実行可能な形式のファイルで、コンピュータが読み取り可能な記憶媒体に記憶されてコンピュータプログラムプロダクトとして提供されてもよい。また、演算装置301が実行するプログラムは、インターネットなどのネットワーク経由でロボット制御装置30に提供されてもよい。
 また、ロボット制御装置30は専用のハードウェアで実現してもよい。また、ロボット制御装置30の機能について、一部を専用のハードウェアで実現し、一部をソフトウェアまたはファームウェアで実現するようにしてもよい。
 以上の実施の形態に示した構成は、一例を示すものであり、別の公知の技術と組み合わせることも可能であるし、実施の形態同士を組み合わせることも可能であるし、要旨を逸脱しない範囲で、構成の一部を省略、変更することも可能である。
 1 ロボットシステム、10 ロボット、20 ビジョンセンサ、30 ロボット制御装置、31 動作プログラム記憶部、32 ロボット制御処理部、33 画像認識処理部、34 人体影響度情報記憶部、35 周辺物体データ記憶部、36 監視処理部、37 人分析処理部、38 アクセス頻度マップ記憶部、39 学習装置、40 学習済モデル記憶部、41 推論装置、391,411 データ取得部、392 モデル生成部、393 報酬計算部、394 関数更新部、412 推論部、500 人、501 手、510 作業台、520 周辺物体、600 画像データ、601 小領域、620 ロボット動作領域。

Claims (16)

  1.  人と作業領域を共有して動作するロボットを制御するロボット制御装置であって、
     ビジョンセンサから得られる監視領域における計測データを基に、前記監視領域に存在する人に関する情報である第1情報を認識する画像認識処理部と、
     前記ロボットを動作させる動作プログラムに従って前記ロボットの動作を制御するロボット制御処理部と、
     前記監視領域における前記ロボットおよび前記ロボット以外の物体である周辺物体の3次元的な配置状態を示す周辺物体データと、前記画像認識処理部から得られる前記第1情報と、を基に、前記ロボットと前記周辺物体との間への前記人の挟み込みの可能性を判定する監視処理部と、
     を備えることを特徴とするロボット制御装置。
  2.  前記監視処理部は、前記監視領域における前記ロボットおよび前記周辺物体の位置、形状および大きさを含む前記周辺物体データ上に、前記第1情報に基づいて前記人の位置情報を追加し、前記第1情報に基づいて前記人と前記ロボットとの動作を予測して、前記ロボットと前記周辺物体との間への前記人の挟み込みの可能性を判定することを特徴とする請求項1に記載のロボット制御装置。
  3.  前記画像認識処理部は、前記ロボットに関する情報である第2情報をさらに認識し、
     前記監視処理部は、前記第1情報および前記第2情報に基づいて、前記ロボットと前記周辺物体との間への前記人の挟み込みの可能性を判定することを特徴とする請求項2に記載のロボット制御装置。
  4.  前記第2情報は、前記ロボットの位置および姿勢を含む第2位置姿勢情報と、前記ロボットの移動方向および速度を含む第2状態情報と、を含み、
     前記監視処理部は、前記第2位置姿勢情報および前記第2状態情報から前記ロボットの動作を予測することを特徴とする請求項3に記載のロボット制御装置。
  5.  前記監視処理部は、前記第1情報から前記人の動作を予測し、前記動作プログラムから前記ロボットの動作を予測し、前記ロボットと前記周辺物体との間への前記人の挟み込みの可能性を判定することを特徴とする請求項2に記載のロボット制御装置。
  6.  前記第1情報は、前記人の位置および姿勢を含む第1位置姿勢情報と、前記人の移動方向および速度を含む第1状態情報と、を含み、
     前記監視処理部は、前記第1位置姿勢情報および前記第1状態情報から前記人の動作を予測することを特徴とする請求項3から5のいずれか1つに記載のロボット制御装置。
  7.  前記第1位置姿勢情報は、人体部位の位置および姿勢を含み、
     前記第1状態情報は、前記人体部位の移動方向および速度を含み、
     前記ロボットの動作によって前記人に接触した場合の前記人体部位毎における人体へ与える影響度を示す人体影響度情報を記憶する人体影響度情報記憶部をさらに備え、
     前記監視処理部は、前記人体部位の予測した動作と、前記ロボットの予測した動作と、から、前記ロボットと前記人体部位との接触部位および接触の状態を予測し、前記予測した前記接触部位および前記接触の状態に対応する前記人体へ与える影響度を前記人体影響度情報から取得し、取得した前記人体へ与える影響度に応じて前記ロボットの動作の指令を前記ロボット制御処理部に出力することを特徴とする請求項6に記載のロボット制御装置。
  8.  前記ロボットの動作を制限する指令は、前記ロボットの停止、減速、または前記人から離れる方向への前記ロボットの動作であることを特徴とする請求項1から7のいずれか1つに記載のロボット制御装置。
  9.  前記監視処理部は、前記人の挟み込みの可能性がある場合に、前記ロボットの動作を制限する指令を前記ロボット制御処理部に出力する、あるいは警告音を出力することを特徴とする請求項1から8のいずれか1つに記載のロボット制御装置。
  10.  前記人、前記ロボットおよび前記周辺物体の状態を示す状態データと、前記人、前記ロボットおよび前記周辺物体の状態における前記ロボットの動作経路と、を含む学習用データを取得するデータ取得部と、
     前記学習用データを用いて、前記状態データから前記ロボットの動作が減速または停止されることを抑制し、かつ前記人への接触および前記ロボットと前記周辺物体との間への前記人の挟み込みの可能性を低減した前記ロボットの動作経路を推論するための学習済モデルを生成するモデル生成部と、
     を有する学習装置をさらに備え、
     前記状態データは、前記第1情報、前記ロボットの目的位置、前記ロボットに関する情報である第2情報、および前記周辺物体データを含むことを特徴とする請求項1,2,5のいずれか1つに記載のロボット制御装置。
  11.  前記人、前記ロボットおよび前記周辺物体の状態を示す状態データと、前記人、前記ロボットおよび前記周辺物体の状態における前記ロボットの動作経路と、を含む学習用データを取得するデータ取得部と、
     前記学習用データを用いて、前記状態データから前記ロボットの動作が減速または停止されることを抑制し、かつ前記人への接触および前記ロボットと前記周辺物体との間への前記人の挟み込みの可能性を低減した前記ロボットの動作経路を推論するための学習済モデルを生成するモデル生成部と、
     を有する学習装置をさらに備え、
     前記状態データは、前記第1情報、前記ロボットの目的位置、前記第2情報、および前記周辺物体データを含むことを特徴とする請求項3または4に記載のロボット制御装置。
  12.  前記モデル生成部は、
     前記ロボットの動作時間、前記ロボットが前記人に接触した場合の人体へ与える影響度、および前記ロボットの動作領域内における前記人のアクセス頻度のうちの少なくとも1つの報酬基準に基づいて、報酬を計算する報酬計算部と、
     前記報酬計算部によって計算される報酬に従って、前記ロボットの動作経路を決定するための関数を更新する関数更新部と、
     を有することを特徴とする請求項10または11に記載のロボット制御装置。
  13.  前記人、前記ロボットおよび前記周辺物体の状態を示す状態データを取得するデータ取得部と、
     前記人、前記ロボットおよび前記周辺物体の状態から前記ロボットの動作が減速または停止されることを抑制し、かつ前記人への接触および前記ロボットと前記周辺物体との間への前記人の挟み込みの可能性を低減した前記ロボットの動作経路を推論するための学習済モデルを用いて、前記データ取得部で取得した前記状態データから前記ロボットの動作経路を出力する推論部と、
     を有する推論装置をさらに備え、
     前記状態データは、前記第1情報、前記ロボットの目的位置、前記ロボットに関する情報である第2情報、および前記周辺物体データを含むことを特徴とする請求項1,2,5,10のいずれか1つに記載のロボット制御装置。
  14.  前記人、前記ロボットおよび前記周辺物体の状態を示す状態データを取得するデータ取得部と、
     前記人、前記ロボットおよび前記周辺物体の状態から前記ロボットの動作が減速または停止されることを抑制し、かつ前記人への接触および前記ロボットと前記周辺物体との間への前記人の挟み込みの可能性を低減した前記ロボットの動作経路を推論するための学習済モデルを用いて、前記データ取得部で取得した前記状態データから前記ロボットの動作経路を出力する推論部と、
     を有する推論装置をさらに備え、
     前記状態データは、前記第1情報、前記ロボットの目的位置、前記第2情報、および前記周辺物体データを含むことを特徴とする請求項3,4,11のいずれか1つに記載のロボット制御装置。
  15.  ロボット、前記ロボットを含む監視領域に存在する人および前記ロボット以外の物体である周辺物体の状態を示す状態データと、前記人、前記ロボットおよび前記周辺物体の状態における前記ロボットの動作経路と、を含む学習用データを取得するデータ取得部と、
     前記学習用データを用いて、前記状態データから前記ロボットの動作が減速または停止されることを抑制し、かつ前記人への接触および前記ロボットと前記周辺物体との間への前記人の挟み込みの可能性を低減した前記ロボットの動作経路を推論するための学習済モデルを生成するモデル生成部と、
     を備え、
     前記状態データは、前記人に関する情報である第1情報、前記ロボットの目的位置、前記ロボットに関する情報である第2情報、および前記監視領域における前記ロボットおよび前記ロボット以外の物体である周辺物体の3次元的な配置状態を示す周辺物体データを含むことを特徴とする学習装置。
  16.  ロボット、前記ロボットを含む監視領域に存在する人および前記ロボット以外の物体である周辺物体の状態を示す状態データを取得するデータ取得部と、
     前記人、前記ロボットおよび前記周辺物体の状態から前記ロボットの動作が減速または停止されることを抑制し、かつ前記人への接触および前記ロボットと前記周辺物体との間への前記人の挟み込みの可能性を低減した前記ロボットの動作経路を推論するための学習済モデルを用いて、前記データ取得部で取得した前記状態データから前記ロボットの動作経路を出力する推論部と、
     を備え、
     前記状態データは、前記人に関する情報である第1情報、前記ロボットの目的位置、前記ロボットに関する情報である第2情報、および前記監視領域における前記ロボットおよび前記ロボット以外の物体である周辺物体の3次元的な配置状態を示す周辺物体データを含むことを特徴とする推論装置。
PCT/JP2021/032995 2021-09-08 2021-09-08 ロボット制御装置、学習装置および推論装置 WO2023037443A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202180098461.5A CN117377561A (zh) 2021-09-08 2021-09-08 机器人控制装置、学习装置及推断装置
US18/571,741 US20240123627A1 (en) 2021-09-08 2021-09-08 Robot control device
PCT/JP2021/032995 WO2023037443A1 (ja) 2021-09-08 2021-09-08 ロボット制御装置、学習装置および推論装置
JP2022506319A JP7098080B1 (ja) 2021-09-08 2021-09-08 ロボット制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2021/032995 WO2023037443A1 (ja) 2021-09-08 2021-09-08 ロボット制御装置、学習装置および推論装置

Publications (1)

Publication Number Publication Date
WO2023037443A1 true WO2023037443A1 (ja) 2023-03-16

Family

ID=82356947

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/032995 WO2023037443A1 (ja) 2021-09-08 2021-09-08 ロボット制御装置、学習装置および推論装置

Country Status (4)

Country Link
US (1) US20240123627A1 (ja)
JP (1) JP7098080B1 (ja)
CN (1) CN117377561A (ja)
WO (1) WO2023037443A1 (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008137127A (ja) * 2006-12-04 2008-06-19 Matsushita Electric Ind Co Ltd ロボットの制御方法
JP2009090400A (ja) * 2007-10-05 2009-04-30 National Institute Of Advanced Industrial & Technology ロボット、ロボット制御装置、ロボット制御プログラム、ロボット制御プログラムを作成するためのシミュレータ
JP2019030941A (ja) * 2017-08-08 2019-02-28 ファナック株式会社 制御装置及び学習装置
JP2019063974A (ja) * 2017-10-05 2019-04-25 ファナック株式会社 ロボットの構成部材の速度を制限する制御装置
JP2019098410A (ja) * 2017-11-28 2019-06-24 ファナック株式会社 ロボットの速度を制限する制御装置
JP2020066092A (ja) * 2018-10-24 2020-04-30 ファナック株式会社 ロボットの制御方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60131192A (ja) * 1983-12-16 1985-07-12 松下電器産業株式会社 ロボツトの安全柵
JP4155804B2 (ja) * 2002-11-26 2008-09-24 ソニー株式会社 脚式移動ロボットの制御装置
US9452532B2 (en) * 2014-01-27 2016-09-27 Panasonic Intellectual Property Management Co., Ltd. Robot, device and method for controlling robot, and computer-readable non-transitory recording medium
JP6677441B2 (ja) * 2014-10-20 2020-04-08 株式会社デンソーウェーブ ロボット、ロボットの形状設計方法
JP2017077608A (ja) * 2015-10-21 2017-04-27 ファナック株式会社 ロボットの安全監視装置
JP2017144490A (ja) * 2016-02-15 2017-08-24 オムロン株式会社 制御装置、制御システム、制御方法およびプログラム
JP6431017B2 (ja) * 2016-10-19 2018-11-28 ファナック株式会社 機械学習により外力の検出精度を向上させた人協調ロボットシステム
TWI774666B (zh) * 2017-03-17 2022-08-21 達明機器人股份有限公司 協作型機器手臂的防夾方法
JP6690626B2 (ja) * 2017-10-31 2020-04-28 株式会社安川電機 ロボットシステムおよびロボットの退避方法
JP2020082307A (ja) * 2018-11-29 2020-06-04 トヨタ自動車株式会社 ロボットのリスクアセスメント方法
JP2021020287A (ja) * 2019-07-30 2021-02-18 セイコーエプソン株式会社 検出方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008137127A (ja) * 2006-12-04 2008-06-19 Matsushita Electric Ind Co Ltd ロボットの制御方法
JP2009090400A (ja) * 2007-10-05 2009-04-30 National Institute Of Advanced Industrial & Technology ロボット、ロボット制御装置、ロボット制御プログラム、ロボット制御プログラムを作成するためのシミュレータ
JP2019030941A (ja) * 2017-08-08 2019-02-28 ファナック株式会社 制御装置及び学習装置
JP2019063974A (ja) * 2017-10-05 2019-04-25 ファナック株式会社 ロボットの構成部材の速度を制限する制御装置
JP2019098410A (ja) * 2017-11-28 2019-06-24 ファナック株式会社 ロボットの速度を制限する制御装置
JP2020066092A (ja) * 2018-10-24 2020-04-30 ファナック株式会社 ロボットの制御方法

Also Published As

Publication number Publication date
JP7098080B1 (ja) 2022-07-08
CN117377561A (zh) 2024-01-09
JPWO2023037443A1 (ja) 2023-03-16
US20240123627A1 (en) 2024-04-18

Similar Documents

Publication Publication Date Title
Halme et al. Review of vision-based safety systems for human-robot collaboration
Sharkawy et al. Human–robot collisions detection for safe human–robot interaction using one multi-input–output neural network
Flacco et al. A depth space approach for evaluating distance to objects: with application to human-robot collision avoidance
US10953538B2 (en) Control device and learning device
De Luca et al. Integrated control for pHRI: Collision avoidance, detection, reaction and collaboration
KR101942167B1 (ko) 전방향 휠을 가지고 선형 예측 위치 및 속도 제어기를 기초한 휴머노이드 로봇
Najmaei et al. Applications of artificial intelligence in safe human–robot interactions
KR102165967B1 (ko) 3차원 공간 감시 장치, 3차원 공간 감시 방법, 및 3차원 공간 감시 프로그램
JP2017030137A (ja) 人の行動パターンを学習する機械学習装置、ロボット制御装置、ロボットシステム、および機械学習方法
JP2010120139A (ja) 産業用ロボットの安全制御装置
CN111906778B (zh) 基于多重感知的机器人安全控制方法及装置
JP2019188580A (ja) 情報処理装置、制御方法、ロボットシステム、コンピュータプログラム、及び記憶媒体
JP7243979B2 (ja) ロボット干渉判定装置、ロボット干渉判定方法、ロボット制御装置、ロボット制御システム、人動作予測装置、および人動作予測方法
US20210394362A1 (en) Information processing device, control method, and program
JP2021030360A (ja) モデル生成装置、モデル生成方法、制御装置及び制御方法
WO2017141567A1 (ja) 作業領域推定装置、制御装置、制御システム、作業領域推定方法およびプログラム
WO2023037443A1 (ja) ロボット制御装置、学習装置および推論装置
JP5776486B2 (ja) ロボット制御装置、その制御方法及びプログラム
JP5306934B2 (ja) ロボットおよび制御システム
CN115903773A (zh) 移动体控制装置、移动体、学习装置及方法、及存储介质
JP2019202354A (ja) ロボット制御装置、ロボット制御方法及びロボット制御プログラム
Yang et al. Human-robot shared control system based on 3d point cloud and teleoperation
Zhu et al. Dynamic motion planning algorithm in human-robot collision avoidance
JPWO2023037443A5 (ja) ロボット制御装置
WO2022074827A1 (ja) 命題設定装置、命題設定方法及び記憶媒体

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 2022506319

Country of ref document: JP

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

Ref document number: 21956740

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 112021007561

Country of ref document: DE

Ref document number: 18571741

Country of ref document: US