WO2021095464A1 - ロボット制御モデル学習方法、ロボット制御モデル学習装置、ロボット制御モデル学習プログラム、ロボット制御方法、ロボット制御装置、ロボット制御プログラム、及びロボット - Google Patents

ロボット制御モデル学習方法、ロボット制御モデル学習装置、ロボット制御モデル学習プログラム、ロボット制御方法、ロボット制御装置、ロボット制御プログラム、及びロボット Download PDF

Info

Publication number
WO2021095464A1
WO2021095464A1 PCT/JP2020/039554 JP2020039554W WO2021095464A1 WO 2021095464 A1 WO2021095464 A1 WO 2021095464A1 JP 2020039554 W JP2020039554 W JP 2020039554W WO 2021095464 A1 WO2021095464 A1 WO 2021095464A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
robot control
control model
state
destination
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2020/039554
Other languages
English (en)
French (fr)
Inventor
真衣 黒瀬
竜 米谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Omron Corp
Original Assignee
Omron Corp
Omron Tateisi Electronics Co
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 Omron Corp, Omron Tateisi Electronics Co filed Critical Omron Corp
Priority to US17/774,604 priority Critical patent/US12474704B2/en
Priority to EP20888239.9A priority patent/EP4060446B1/en
Priority to CN202080076868.3A priority patent/CN114667494B/zh
Publication of WO2021095464A1 publication Critical patent/WO2021095464A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0221Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/005Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/60Intended control result
    • G05D1/617Safety or protection, e.g. defining protection zones around obstacles or avoiding hazards
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2101/00Details of software or hardware architectures used for the control of position
    • G05D2101/10Details of software or hardware architectures used for the control of position using artificial intelligence [AI] techniques
    • G05D2101/15Details of software or hardware architectures used for the control of position using artificial intelligence [AI] techniques using machine learning, e.g. neural networks

Definitions

  • the disclosed technology relates to a robot control model learning method, a robot control model learning device, a robot control model learning program, a robot control method, a robot control device, a robot control program, and a robot.
  • the route from the initial position to the target position is determined by performing a graph search with each point in the sampled space as a node. Derived.
  • Non-Patent Document 1 (Decentralized Non-communicating Multiagent Collision Avoidance with Deep Reinforcement Learning https://arxiv.org/pdf/1609.07845) discloses a technique for acquiring collision avoidance measures through deep reinforcement learning. In the technique disclosed in Non-Patent Document 1, a measure for minimizing the time to reach a destination while avoiding a collision with a surrounding agent is obtained.
  • Non-Patent Document 2 (Socially Aware Motion Planning with Deep Reinforcement Learning https://arxiv.org/pdf/1703.08862.pdf) discloses a technology improved from the technology disclosed in Non-Patent Document 1.
  • socially natural avoidance behavior is realized by adding a social norm (social norm) to a reward function that takes into account the characteristics of human collision avoidance behavior.
  • Non-Patent Document 3 ZMP https://news.mynavi.jp/article/20180323-604926/), by taking an intervention action to encourage obstacles (humans) in the route plan to give way.
  • a technique for autonomously traveling without changing the route plan of the robot itself is disclosed.
  • Non-Patent Documents 1 and 2 deal with only passive collision avoidance behavior with respect to the environment, and do not deal with intervention behavior.
  • Non-Patent Documents 1 and 2 are supposed to interact with a small number of agents, and are not supposed to be in a crowd environment.
  • intervention by a simple measure is easy to implement, but when the frequency of intervention increases, it causes stress on the environment side and also causes stress in the surrounding pedestrian group. It may deteriorate the transportation efficiency.
  • An object of the present invention is to provide a robot control model learning method, a robot control model learning device, a robot control model learning program, a robot control method, a robot control device, a robot control program, and a robot.
  • the first aspect of the disclosure is a robot control model learning method, which includes an intervention action in which a computer intervenes in the environment by inputting state information representing a state of a robot autonomously traveling to a destination in a dynamic environment.
  • a learning process is provided in which a robot control model that selects and outputs an action according to the state of the robot from a plurality of actions is reinforced and learned by using the number of interventions in which the intervention action is executed as a negative reward.
  • the action includes at least one of the robot's moving direction, the robot's moving speed, and the intervention action, and the reward is the arrival time until the robot arrives at the destination.
  • at least one of the interventions may be given to be smaller.
  • the action includes an avoidance action in which the robot avoids a collision with another object, and the reward may be given so that the number of avoidances to avoid the collision is small. ..
  • the learning process may be subjected to reinforcement learning by updating the state value function representing the state of the robot.
  • the second aspect of the disclosure is a robot control model learning device, which is a plurality of actions including an intervention action that intervenes in the environment by inputting state information representing the state of a robot that autonomously travels to a destination in a dynamic environment.
  • a learning unit that reinforces and learns a robot control model that selects and outputs an action according to the state of the robot from among them, with the number of interventions in which the intervention action is executed as a negative reward.
  • the third aspect of the disclosure is a robot control model learning program, which includes an intervention action of intervening in the environment by inputting state information representing the state of a robot autonomously traveling to a destination in a dynamic environment into a computer.
  • a robot control model that selects and outputs an action according to the state of the robot from a plurality of actions is made to execute a process including a learning process in which the number of interventions in which the intervention action is executed is strengthened and learned as a negative reward.
  • the fourth aspect of the disclosure is a robot control method, which comprises an acquisition process in which a computer acquires state information representing the state of a robot autonomously traveling to a destination in a dynamic environment, the state information, and a robot control model. Based on the robot control model learned by the learning method, a process including a control step of controlling the robot to move to the destination is executed.
  • the fifth aspect of the disclosure is a robot control device, which is based on an acquisition unit that acquires state information representing the state of a robot that autonomously travels to a destination in a dynamic environment, the state information, and a robot control model learning device. It includes a learned robot control model and a control unit that controls the robot to move to the destination based on the learned robot control model.
  • the sixth aspect of the disclosure is a robot control program, which is an acquisition process for acquiring state information representing the state of a robot autonomously traveling to a destination in a dynamic environment, the state information, and a robot control model. Based on the robot control model learned by the learning method, a process including a control step of controlling the robot to move to the destination is executed.
  • a seventh aspect of the disclosure is a robot, an acquisition unit that acquires state information representing the state of the robot that autonomously travels to a destination in a dynamic environment, an autonomous traveling unit that autonomously travels the robot, and the state.
  • the robot control device includes information, a robot control model learned by the robot control model learning device, and a control unit that controls the robot to move to the destination based on the information.
  • the number of intervention actions in which the robot intervenes in the surrounding environment can be reduced.
  • FIG. 1 is a diagram showing a schematic configuration of the robot control model learning system 1.
  • the robot control model learning system 1 includes a robot control model learning device 10 and a simulator 20.
  • the simulator 20 will be described later.
  • FIG. 2 is a block diagram showing the hardware configuration of the robot control model learning device 10.
  • the robot control model learning device 10 includes a CPU (Central Processing Unit) 11, a ROM (Read Only Memory) 12, a RAM (Random Access Memory) 13, a storage 14, an input unit 15, a monitor 16, and an optical disk. It has a drive device 17 and a communication interface 18. The configurations are connected to each other via a bus 19 so as to be communicable with each other.
  • CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • the robot control model learning program is stored in the storage 14.
  • the CPU 11 is a central arithmetic processing unit that executes various programs and controls each configuration. That is, the CPU 11 reads the program from the storage 14 and executes the program using the RAM 13 as a work area. The CPU 11 controls each of the above configurations and performs various arithmetic processes according to the program recorded in the storage 14.
  • the ROM 12 stores various programs and various data.
  • the RAM 13 temporarily stores a program or data as a work area.
  • the storage 14 is composed of an HDD (Hard Disk Drive) or an SSD (Solid State Drive), and stores various programs including an operating system and various data.
  • the input unit 15 includes a pointing device such as a keyboard 151 and a mouse 152, and is used for performing various inputs.
  • the monitor 16 is, for example, a liquid crystal display and displays various types of information.
  • the monitor 16 may adopt a touch panel method and function as an input unit 15.
  • the optical disc drive device 17 reads data stored in various recording media (CD-ROM, Blu-ray disc, etc.), writes data to the recording medium, and the like.
  • the communication interface 18 is an interface for communicating with other devices such as the simulator 20, and for example, a standard such as Ethernet (registered trademark), FDDI or Wi-Fi (registered trademark) is used.
  • FIG. 3 is a block diagram showing an example of the functional configuration of the robot control model learning device 10.
  • the robot control model learning device 10 has a state value calculation unit 30 and an action selection unit 32 as functional configurations. Each functional configuration is realized by the CPU 11 reading the robot control program stored in the storage 14 and deploying it in the RAM 13 for execution.
  • the state value calculation unit 30 and the action selection unit 32 are examples of the learning unit.
  • the state value calculation unit 30 acquires state information from the simulator 20.
  • Simulator 20 for example, as shown in FIG. 4, the dynamic autonomous type robot RB is, including in the case of moving to a destination p g, like humans HB or the like existing around the robot RB, the moving object It has a function to simulate a typical environment.
  • the simulator 20 outputs state information regarding the state of the robot RB and the environment around the robot RB to the state value calculation unit 30.
  • the state information includes robot information regarding the state of the robot RB, environmental information regarding the environment around the robot RB, and destination information regarding the destination to be reached by the robot RB.
  • Robot information includes information on the position and speed of the robot RB.
  • the velocity v of the robot RB is represented by a vector in the two-dimensional coordinate system as follows.
  • the position p of the robot RB is represented by the coordinates in the two-dimensional coordinate system as follows.
  • r b represents the radius of influence of the robot RB.
  • the influence radius r b used in determining whether the other objects other than robot RB and a robot RB has collided.
  • the environmental information includes information on the dynamic environment, specifically, information on the position and speed of a moving object such as a human HB existing around the robot RB.
  • a moving object such as a human HB existing around the robot RB.
  • the environmental information is information about a human HB.
  • FIG. 4 it represents the state ⁇ s t of the surrounding of the robot RB human HB as follows.
  • this embodiment for convenience, when a character having the symbols " ⁇ (tilde)" and “ ⁇ (hat)” above the character is written in a mathematical formula or the like, the symbol is placed before the character. It may be written.
  • N is the number of human HBs existing in the surroundings.
  • ⁇ s t 1 , ⁇ s t 2 , ... ⁇ s t N represent the state of each human HB at t time, that is, the position and velocity.
  • Destination information including the location information of the destination p g.
  • the destination position pg is represented by the coordinates in the two-dimensional coordinate system as follows.
  • the state value calculation unit 30 calculates the reward r using the reward function R (s jn, a) based on the acquired state information.
  • a represents an action, and includes at least one of the movement direction, the movement speed, the intervention action, and the avoidance action of the robot RB. Then, the reward r is given so that the arrival time until the robot RB arrives at the destination pg , the number of interventions which is the number of times the intervention action is executed, and the number of avoidances when the robot RB avoids the collision are reduced. ..
  • the intervention action is an action of notifying the surrounding human HBs of the existence of the robot RB so that the robot RB moves without stopping. Specifically, it is an action such as outputting a message such as "Please clear the way" by voice or sounding a warning sound, but the intervention action is not limited to these.
  • the avoidance action is an action in which the robot RB avoids a collision with another object, and means an action in which the robot RB moves in a direction and a speed at which the other object can be avoided.
  • the reward function R (s jn , a) is set as follows. In the following, it may be simply referred to as a reward function R.
  • r e is rewards from the environment
  • the r c is the effect due to the intervention compensation.
  • is the weight of the reward r e
  • is the weight of the reward r c
  • the reward r e and the reward r c are expressed as follows.
  • d is a distance used to determine whether or not the robot RB and the human HB collide, and is expressed by the following equation.
  • D represents the distance between the robot RB and the human HB.
  • r b is the radius of influence of the robot RB described above
  • d is less than 0, it indicates a state in which the region within the influence radius r b of the robot RB and the region within the influence radius rh h of the human HB partially overlap, that is, a state in which the robot RB and the human HB are close to each other. ..
  • d when d is less than 0, it is considered that the robot RB and the human HB have collided with each other.
  • bt is an intervention parameter indicating whether or not the robot RB has performed an intervention action with respect to the surrounding environment at time t.
  • the intervention parameter bt is "0" it means that the intervention action is not performed.
  • the intervention parameter has a value other than "0” it means that the robot RB has performed the intervention action.
  • the reward r e is " ⁇ c " when the distance d is less than 0, that is, when the robot RB can be regarded as colliding with the human HB.
  • the reward r e if the position p of the robot RB has reached the destination p g, the " ⁇ g".
  • the range of values that the reward ⁇ g can take is 0 ⁇ ⁇ g ⁇ 1.
  • the reward ⁇ g is given so that the later the arrival time until the destination pg arrives, the smaller the value, that is, the closer to “0”.
  • the reward ⁇ g is given so that the earlier the arrival time before arriving at the destination pg , the larger the value, that is, the closer to “1”.
  • reward r e in the case other than the above is "0".
  • the reward r c becomes “ ⁇ b ” when the intervention parameter bt is a value other than “0”. That is, ⁇ b can be said to be a reward for intervention behavior. In addition, if the intervention parameter b t is "0", reward r c is "0".
  • ⁇ c and ⁇ b are set to a value less than 0, that is, a negative value as a negative reward. That is, it can be said that ⁇ c is a reward for collision avoidance and ⁇ b is a reward for intervention behavior.
  • ⁇ c may be expressed by a function of the distance d. May also represent epsilon b as a function of the intervention parameters b t.
  • the state value computing unit 30 calculates the following equation using the value of the state at time t y t the state value function V (s t jn).
  • r t is the compensation at time t calculated by the compensation function R.
  • ⁇ t is an increase in time in one step.
  • is the discount rate of the reward and is defined as follows.
  • the discount rate ⁇ can take a value of 0 or more and 1 or less.
  • the discount rate ⁇ is set to a value that is evaluated by discounting the reward obtained in the distant future.
  • State value function V (s t jn) is the approach that has been selected using a policy function ⁇ which will be described later, a function representing the value of that robot RB and surrounding human HB is the state s jn, by: expressed.
  • "*" represents the optimum
  • V * represents the optimum state value function
  • ⁇ * represents the optimum policy function. In the following, it may be simply referred to as a state value function V.
  • the state value function V (s t jn) is discounted at a discount rate gamma, indicating that the discount cumulative reward sum obtained by accumulating rewards future, that is, the expected reward.
  • the state value function V is approximated by using a deep neural network (Value-network).
  • the deep neural network representing the state value function V is referred to as a V network.
  • the state value calculation unit 30 learns the V network.
  • the V network is learned by the gradient descent method using the Experience reply buffer. That is, the state in the buffer E S t jn, stores the value y t, random state S t jn from buffer E, reads the pairs of values y t, learns V network the read pair as teacher data. That is, the parameters of the V network are updated.
  • Action selection unit 32 based on the value of the state where the state value calculating unit 30 is calculated, to select an action a t should take the robot RB.
  • Action a t are selected using the following (3) measures the function represented by the formula [pi (s t jn). In the following, it may be simply referred to as a policy function ⁇ .
  • a t) represents the state transition probability in the case of selecting an action a t.
  • Action selection unit 32 outputs the policy function ⁇ (s t jn) by the selected action a t the simulator 20.
  • the simulator 20 to execute the action a t the robot RB by simulation.
  • action a t is, when was to move the moving direction m t and the moving speed v t is the simulator 20 moves the robot RB in the movement direction m t and the moving speed v t in the simulation.
  • action a t was an intervention action, simulator 20, or the audio output a message such as "Please open the road", the ambient in the case of executing the intervention action, such as sounding a warning sound man Simulate the avoidance behavior that HB can take.
  • robot RB performs an action a t, also changes state ⁇ s t state s t and surrounding human HB robot RB. Then, for the changed state, the V network is learned by repeating the processes of calculating the reward r, calculating the state value V, selecting and executing the action a, and updating the parameters of the V network in the same manner as described above.
  • the robot control model learning device 10 can be said to be a robot control model that functionally inputs state information and selects and outputs an action corresponding to the input state information.
  • FIG. 5 is a flowchart showing the flow of the robot control model learning process by the robot control model learning device 10.
  • the robot control model learning process is performed by the CPU 11 reading the robot control model learning program from the storage 14, deploying it in the RAM 13, and executing it.
  • step S100 CPU 11 has, as a state value computing unit 30 acquires the position information of the destination p g from the simulator 20.
  • step S102 the CPU 11 initializes the state value function V as the state value calculation unit 30. That is, the parameters of the V network are initialized.
  • step S104 CPU 11 has, as a state value computing section 30 initializes the state s t of the robot RB.
  • step S106 CPU 11 has, as a state value computing section 30 initializes the state ⁇ s t around the human HB.
  • step S108 the CPU 11 sets the action a to be taken first by the robot RB as the action selection unit 32, and outputs the set action a to the simulator 20 to cause the robot RB to execute the action a.
  • the simulator 20 executes the action a in the simulation.
  • step S110 CPU 11 has, as a state value computing unit 30 obtains the state s t of the robot RB from the simulator 20.
  • step S112 CPU 11 has, as a state value computing unit 30 obtains the state ⁇ s t around the human HB from the simulator 20.
  • step S114 the CPU 11, as a state value computing unit 30, and a state s t jn the robot RB and surrounding human HB was obtained from the simulator 20, the action a t, based on the reward r t by the reward function R calculate.
  • step S116 CPU 11 has, as a state value calculating unit 30 calculates the state value y t by the equation (1).
  • step S118 CPU 11 has, as an action selection unit 32, the (3) selecting an action a t the equation, and outputs the selected action a t the simulator 20.
  • the simulator 20 to execute the action a t the robot RB in the simulation.
  • step S120 CPU 11 has, as a state value computing unit 30, is stored in the buffer E to state s t jn and state value y t of the robot RB as a pair.
  • step S122 the CPU 11 updates the parameters of the V network as the state value calculation unit 30. That is, the V network is learned. At this time, the past state s jn and the state value y stored in the buffer E are randomly selected, and the parameters of the V network are updated using these as teacher data. That is, the parameters of the V network are updated using the gradient descent method in reinforcement learning.
  • the process of step S122 may be executed once in a plurality of times instead of being executed each time.
  • step S124 CPU 11 has, as a state value computing unit 30 determines whether or not the robot RB has reached the destination p g. That is, it is determined whether the position p of the robot RB is consistent with the destination p g. Then, when the robot RB is determined to have reached the destination p g, the process proceeds to step S126. On the other hand, when the robot RB is determined not to have reached the destination p g, the process proceeds to step S110, the robot RB repeats the processing at steps S110 ⁇ S124 until it is determined to have reached the destination p g. That is, the V network is learned.
  • the processes in steps S110 to S124 are an example of the learning process.
  • step S126 the CPU 11 determines whether or not the end condition for ending learning is satisfied as the state value calculation unit 30. End condition, in the present embodiment, for example, until the robot RB arrives at the destination p g from a starting point as one episode is when the episode of the predetermined number (e.g. 100) is completed. When the CPU 11 determines that the termination condition is satisfied, the CPU 11 terminates this routine. On the other hand, if the end condition is not satisfied and proceeds to step S100, and repeats the processes of steps S100 ⁇ S126 by changing the destination p g to the end condition is satisfied.
  • End condition in the present embodiment, for example, until the robot RB arrives at the destination p g from a starting point as one episode is when the episode of the predetermined number (e.g. 100) is completed.
  • the CPU 11 determines that the termination condition is satisfied, the CPU 11 terminates this routine.
  • the end condition is not satisfied and proceeds to step S100, and repeats the processes of steps S100 ⁇ S126 by changing the destination
  • the reward r t calculated by the compensation function R includes a compensation epsilon b remuneration epsilon c and intervention action on collision avoidance, which takes a negative value as a negative reward.
  • FIG. 6 shows a schematic configuration of the robot RB.
  • the robot RB includes a robot control device 40, a camera 42, a robot information acquisition unit 44, a notification unit 46, and an autonomous traveling unit 48.
  • the robot control device 40 includes a state information acquisition unit 50 and a control unit 52.
  • the camera 42 is, during the period from the start point to move to the destination p g, taken at predetermined intervals around the robot RB, and outputs the captured image captured in the state information acquiring unit 50 of the robot controller 40.
  • Robot information acquisition unit 44 acquires the status s t of the robot RB. That is, the position and speed of the robot RB are acquired. Specifically, the position p of the robot RB may be acquired using, for example, a GPS (Global Positioning System) device, or may be acquired using a known self-position estimation technique such as SLAM (Simultaneous Localization and Mapping). You may. Further, the speed of the robot RB is acquired by using, for example, a speed sensor.
  • GPS Global Positioning System
  • SLAM Simultaneous Localization and Mapping
  • Robot information acquisition unit 44 outputs the state s t of the obtained robot RB in the state information acquisition unit 50.
  • State information obtaining unit 50 obtains the state ⁇ s t human HB based on the captured image by the camera 42 is captured. Specifically, the captured image is analyzed using a known method, and the position and speed of the human HB existing around the robot RB are calculated.
  • the destination information is input to the state information acquisition unit 50 by communication from, for example, an external device.
  • the state information acquiring unit 50 outputs the acquired destination information, the state s t of the robot RB, and the status information including status ⁇ s t human HB to the control unit 52.
  • the control unit 52 has the function of the robot control model learned by the robot control model learning device 10. That is, the V network has the functions of the learned state value calculation unit 30 and the action selection unit 32.
  • the control unit 52 selects an action corresponding to the input state information, and controls at least one of the notification unit 46 and the autonomous traveling unit 48 based on the selected action.
  • the notification unit 46 has a function of notifying the presence of the robot RB to surrounding human HBs by outputting a voice or a warning sound.
  • the autonomous traveling unit 48 has a function of autonomously traveling a robot RB such as a tire and a motor for driving the tire.
  • control unit 52 controls the autonomous traveling unit 48 so that the robot RB moves in the specified direction and speed. To do.
  • control unit 52 controls the notification unit 46 to output a message such as "please leave the road” by voice or to sound a warning sound.
  • the robot control device 40 has a CPU (Central Processing Unit) 61, a ROM (Read Only Memory) 62, a RAM (Random Access Memory) 63, a storage 64, and a communication interface 65. Each configuration is communicably connected to each other via a bus 66.
  • CPU Central Processing Unit
  • ROM Read Only Memory
  • RAM Random Access Memory
  • the robot control program is stored in the storage 64.
  • the CPU 61 is a central arithmetic processing unit that executes various programs and controls each configuration. That is, the CPU 61 reads the program from the storage 64 and executes the program using the RAM 63 as a work area. The CPU 61 controls each of the above configurations and performs various arithmetic processes according to the program recorded in the storage 64.
  • the ROM 62 stores various programs and various data.
  • the RAM 63 temporarily stores a program or data as a work area.
  • the storage 64 is composed of an HDD (Hard Disk Drive) or an SSD (Solid State Drive), and stores various programs including an operating system and various data.
  • the communication interface 65 is an interface for communicating with other devices, and for example, a standard such as Ethernet (registered trademark), FDDI or Wi-Fi (registered trademark) is used.
  • FIG. 8 is a flowchart showing the flow of robot control processing by the robot control device 40.
  • the robot control process is performed by the CPU 51 reading the robot control program from the storage 64, expanding the robot control program into the RAM 63, and executing the program.
  • step S200 CPU 61 has, as the state information acquiring unit 50 acquires the communication from an external device not the location information of the destination p g example shown.
  • step S202 CPU 61 has, as the state information acquisition unit 50 obtains the state s t of the robot RB from the robot information acquisition unit 44.
  • step S204 CPU 61 has, as a state value computing unit 30, based on the image captured by the camera 42, obtains the state ⁇ s t around the human HB.
  • step S206 CPU 61 has, as the control unit 52, and a state s t jn status information of the robot RB and surrounding acquired from the acquisition unit 50 human HB, the action a t, based on compensation by the compensation function R r t Is calculated.
  • step S208 CPU 61 has, as the control unit 52 calculates the state value y t by the equation (1).
  • step S210 CPU 61 has, as the control unit 52, the (3) selecting an action a t the equation, controls at least one of the alert section 46 and the autonomous unit 48 based on the selected action a t. As a result, the robot RB performs the action a t.
  • step S212 CPU 61 makes a decision as a control unit 52, whether the robot RB has reached the destination p g. That is, it is determined whether the position p of the robot RB is consistent with the destination p g. Then, when the robot RB is determined to have reached the destination p g, the routine ends. On the other hand, when the robot RB is determined not to have reached the destination p g, the process proceeds to step S202, the robot RB repeats the processing at steps S202 ⁇ S212 until it is determined to have reached the destination p g.
  • the processes from steps S202 to S212 are examples of control steps.
  • the robot RB is controlled based on the robot control model learned by the robot control model learning device 10.
  • the number of interventions and the number of collision avoidances by which the robot RB takes an intervention action can be reduced. Accordingly, it is possible while reducing to give stress to the surrounding environment, to shorten the time until the robot RB to arrive at the destination p g.
  • the learning method is not limited to this.
  • the action value function Q (s jn , a) for calculating the action value of the robot RB may be learned.
  • reward epsilon c about collision avoidance As a reward for the reward function R outputs, reward epsilon c about collision avoidance, it has been described that includes a reward epsilon b about intervention action, also not contain any reward epsilon c about collision avoidance Good.
  • the configuration in which the robot RB is provided with the camera 42 has been described, but the present invention is not limited to this.
  • the camera 42 is omitted, also be acquires overhead image looking down the robot RB from an external device, it acquires the state ⁇ s t human around the robot RB HB by analyzing the overhead image obtained Good.
  • the robot RB transmits the photographed image taken by the camera 42 and the robot information acquired by the robot information acquisition unit 44 to the external server, and executes the action instructed by the external server.
  • processors other than the CPU may execute the robot control process executed by the CPU reading the software (program) in each of the above embodiments.
  • the processors include PLD (Programmable Logic Device) whose circuit configuration can be changed after manufacturing FPGA (Field-Programmable Gate Array), and ASIC (Application Specific Integrated Circuit) for executing ASIC (Application Special Integrated Circuit).
  • PLD Programmable Logic Device
  • FPGA Field-Programmable Gate Array
  • ASIC Application Specific Integrated Circuit
  • An example is a dedicated electric circuit or the like, which is a processor having a circuit configuration designed exclusively for the purpose.
  • the robot control model learning process and the robot control process may be executed by one of these various processors, or a combination of two or more processors of the same type or different types (for example, a plurality of FPGAs, and a plurality of FPGAs, and It may be executed by a combination of a CPU and an FPGA, etc.).
  • the hardware structure of these various processors is, more specifically, an electric circuit in which circuit elements such as semiconductor elements are combined.
  • the mode in which the robot control model learning program is stored in the storage 14 in advance and the robot control program is stored in the storage 64 in advance has been described, but the present invention is not limited to this.
  • the program is provided in a form recorded on a recording medium such as a CD-ROM (Compact Disc Read Only Memory), a DVD-ROM (Digital Versail Disc Read Only Memory), and a USB (Universal Serial Bus) memory. Further, the program may be downloaded from an external device via a network.
  • Robot control model learning device 20 Simulator 30 State value calculation unit 32 Action selection unit 40 Robot control device 42 Camera 44 Robot information acquisition unit 46 Notification unit 48 Autonomous traveling unit 50 State information acquisition unit 52 Control unit HB Human RB Robot

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Game Theory and Decision Science (AREA)
  • Business, Economics & Management (AREA)
  • Algebra (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Multimedia (AREA)
  • Electromagnetism (AREA)
  • Computational Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Manipulator (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Feedback Control In General (AREA)

Abstract

ロボット制御モデル学習装置(10)は、動的な環境において目的地まで自律走行するロボットの状態を表す状態情報を入力として、環境に介入する介入行動を含む複数の行動の中からロボットの状態に応じた行動を選択して出力するロボット制御モデルを、介入行動を実行した介入回数をマイナスの報酬として強化学習する。

Description

ロボット制御モデル学習方法、ロボット制御モデル学習装置、ロボット制御モデル学習プログラム、ロボット制御方法、ロボット制御装置、ロボット制御プログラム、及びロボット
 開示の技術は、ロボット制御モデル学習方法、ロボット制御モデル学習装置、ロボット制御モデル学習プログラム、ロボット制御方法、ロボット制御装置、ロボット制御プログラム、及びロボットに関する。
 RRT(Rapidly-exploring Random Tree) や PRM (Probabilistic RoadMap) に代表される経路計画手法では、サンプルされた空間上の各地点をノードとしたグラフ探索を行うことにより初期位置から目的位置への経路を導出する。
 これらの手法は、静的で既知な環境を対象としており、動的な環境下では環境が変化する度に「再計画」を行う必要がある。
 既存の「再計画」手法は、環境変化に応じてマップを更新し、連続的に変形可能な別の大域的経路を探索することを基本とするが、群衆環境のような密集・連続的に変化が生じるような環境では解が見つからず、再計画においてロボットの停止が頻繁に起こり得る。
 また、群衆などの混雑環境下では、単純には断続的に目の前の障害物を除去し続け環境に多大なストレスを与えてしまう。
 非特許文献1(Decentralized Non-communicating Multiagent Collision Avoidance with Deep Reinforcement Learning https://arxiv.org/pdf/1609.07845)には、深層強化学習によって衝突回避方策を獲得する技術が開示されている。非特許文献1に開示の技術では、周辺のエージェントと衝突を回避しながら目的地に対する到達時間を最小化する方策を獲得する。
 非特許文献2(Socially Aware Motion Planning with Deep Reinforcement Learning https://arxiv.org/pdf/1703.08862.pdf)には、非特許文献1に開示の技術を改良した技術が開示されている。非特許文献2に開示の技術では、人間の衝突回避行動の特性を加味した報酬関数にソーシャルノルム(社会規範)を加えることにより、社会的に自然な回避行動を実現している。
 非特許文献3(ZMP https://news.mynavi.jp/article/20180323-604926/)には、経路計画上の障害物(人間)に対して道を譲るよう働きかける介入行動を行うことにより、ロボット自身の経路計画を変更せずに自律走行する技術が開示されている。
 しかしながら、上記非特許文献1、2に開示の技術は、何れも環境に対する消極的な衝突回避行動のみを扱い、介入行動は扱わない。
 また、非特許文献1、2に開示の技術は、少数のエージェントとのインタラクションが想定されたものであり、群衆環境下は想定されていない。
 また、非特許文献3に開示の技術のように、単純な方策による介入は、実装は容易であるものの、介入の頻度が高くなると環境側のストレスの要因となると共に、周囲の歩行者グループの輸送効率を悪化させてしまう場合がある。
 開示の技術は、上記の点に鑑みてなされたものであり、動的な環境においてロボットを目的地へ移動させる場合に、ロボットが周囲の環境に介入する介入行動の回数を少なくすることができるロボット制御モデル学習方法、ロボット制御モデル学習装置、ロボット制御モデル学習プログラム、ロボット制御方法、ロボット制御装置、ロボット制御プログラム、及びロボットを提供することを目的とする。
 開示の第1態様は、ロボット制御モデル学習方法であって、コンピュータが、動的な環境において目的地まで自律走行するロボットの状態を表す状態情報を入力として、前記環境に介入する介入行動を含む複数の行動の中から前記ロボットの状態に応じた行動を選択して出力するロボット制御モデルを、前記介入行動を実行した介入回数をマイナスの報酬として強化学習する学習工程を備える。
 上記第1態様において、前記行動は、前記ロボットの移動方向、前記ロボットの移動速度、及び前記介入行動の少なくとも1つを含み、前記報酬は、前記ロボットが前記目的地に到着するまでの到着時間及び前記介入回数の少なくとも一方が小さくなるように与えられるようにしてもよい。
 上記第1態様において、前記行動は、前記ロボットが他の物体との衝突を回避する回避行動を含み、前記報酬は、前記衝突を回避する回避回数が小さくなるように与えられるようにしてもよい。
 上記第1態様において、前記学習工程は、前記ロボットの状態を表す状態価値関数を更新することにより強化学習するようにしてもよい。
 開示の第2態様は、ロボット制御モデル学習装置であって、動的な環境において目的地まで自律走行するロボットの状態を表す状態情報を入力として、前記環境に介入する介入行動を含む複数の行動の中から前記ロボットの状態に応じた行動を選択して出力するロボット制御モデルを、前記介入行動を実行した介入回数をマイナスの報酬として強化学習する学習部を含む。
 開示の第3態様は、ロボット制御モデル学習プログラムであって、コンピュータに、動的な環境において目的地まで自律走行するロボットの状態を表す状態情報を入力として、前記環境に介入する介入行動を含む複数の行動の中から前記ロボットの状態に応じた行動を選択して出力するロボット制御モデルを、前記介入行動を実行した介入回数をマイナスの報酬として強化学習する学習工程を含む処理を実行させる。
 開示の第4態様は、ロボット制御方法であって、コンピュータが、動的な環境において目的地まで自律走行するロボットの状態を表す状態情報を取得する取得工程と、前記状態情報と、ロボット制御モデル学習方法により学習されたロボット制御モデルと、に基づいて、前記ロボットが前記目的地に移動するように制御する制御工程と、を含む処理を実行する。
 開示の第5態様は、ロボット制御装置であって、動的な環境において目的地まで自律走行するロボットの状態を表す状態情報を取得する取得部と、前記状態情報と、ロボット制御モデル学習装置により学習されたロボット制御モデルと、に基づいて、前記ロボットが前記目的地に移動するように制御する制御部と、を含む。
 開示の第6態様は、ロボット制御プログラムであって、コンピュータに、動的な環境において目的地まで自律走行するロボットの状態を表す状態情報を取得する取得工程と、前記状態情報と、ロボット制御モデル学習方法により学習されたロボット制御モデルと、に基づいて、前記ロボットが前記目的地に移動するように制御する制御工程と、を含む処理を実行させる。
 開示の第7態様は、ロボットであって、動的な環境において目的地まで自律走行するロボットの状態を表す状態情報を取得する取得部と、前記ロボットを自律走行させる自律走行部と、前記状態情報と、ロボット制御モデル学習装置により学習されたロボット制御モデルと、に基づいて、前記ロボットが前記目的地に移動するように制御する制御部と、を含むロボット制御装置と、を備える。
 開示の技術によれば、動的な環境においてロボットを目的地へ移動させる場合に、ロボットが周囲の環境に介入する介入行動の回数を少なくすることができる。
ロボット制御モデル学習システムの概略構成を示す図である。 ロボット制御モデル学習装置のハードウェア構成を示すブロック図である。 ロボット制御モデル学習装置の機能構成を示すブロック図である。 ロボットが群衆の中を目的地まで移動する様子を示す図である。 ロボット制御モデル学習装置によるロボット制御モデル学習処理の流れを示すフローチャートである。 ロボット制御装置の機能構成を示すブロック図である。 ロボット制御装置のハードウェア構成を示すブロック図である。 ロボット制御装置によるロボット制御処理の流れを示すフローチャートである。
 以下、開示の技術の実施形態の一例を、図面を参照しつつ説明する。なお、各図面において同一又は等価な構成要素及び部分には同一の参照符号を付与している。また、図面の寸法比率は、説明の都合上誇張されている場合があり、実際の比率とは異なる場合がある。
 図1は、ロボット制御モデル学習システム1の概略構成を示す図である。
 図1に示すように、ロボット制御モデル学習システム1は、ロボット制御モデル学習装置10及びシミュレータ20を備える。シミュレータ20については後述する。
 次に、ロボット制御モデル学習装置10について説明する。
 図2は、ロボット制御モデル学習装置10のハードウェア構成を示すブロック図である。
 図2に示すように、ロボット制御モデル学習装置10は、CPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、ストレージ14、入力部15、モニタ16、光ディスク駆動装置17及び通信インタフェース18を有する。各構成は、バス19を介して相互に通信可能に接続されている。
 本実施形態では、ストレージ14には、ロボット制御モデル学習プログラムが格納されている。CPU11は、中央演算処理ユニットであり、各種プログラムを実行したり、各構成を制御したりする。すなわち、CPU11は、ストレージ14からプログラムを読み出し、RAM13を作業領域としてプログラムを実行する。CPU11は、ストレージ14に記録されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。
 ROM12は、各種プログラム及び各種データを格納する。RAM13は、作業領域として一時的にプログラム又はデータを記憶する。ストレージ14は、HDD(Hard Disk Drive)又はSSD(Solid State Drive)により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。
 入力部15は、キーボード151、及びマウス152等のポインティングデバイスを含み、各種の入力を行うために使用される。モニタ16は、例えば、液晶ディスプレイであり、各種の情報を表示する。モニタ16は、タッチパネル方式を採用して、入力部15として機能してもよい。光ディスク駆動装置17は、各種の記録媒体(CD-ROM又はブルーレイディスクなど)に記憶されたデータの読み込みや、記録媒体に対するデータの書き込み等を行う。
 通信インタフェース18は、シミュレータ20等の他の機器と通信するためのインタフェースであり、例えば、イーサネット(登録商標)、FDDI又はWi-Fi(登録商標)等の規格が用いられる。
 次に、ロボット制御モデル学習装置10の機能構成について説明する。
 図3は、ロボット制御モデル学習装置10の機能構成の例を示すブロック図である。
 図3に示すように、ロボット制御モデル学習装置10は、機能構成として、状態価値算出部30及び行動選択部32を有する。各機能構成は、CPU11がストレージ14に記憶されたロボット制御プログラムを読み出し、RAM13に展開して実行することにより実現される。なお、状態価値算出部30及び行動選択部32は、学習部の一例である。
 本実施形態では、価値ベース(Value-Based)の深層強化学習により後述する状態価値関数を学習する場合について説明する。
 状態価値算出部30は、シミュレータ20から状態情報を取得する。シミュレータ20は、例えば図4に示すように、自律走行型のロボットRBが、目的地pまで移動する場合に、ロボットRBの周囲に存在する人間HB等のように、移動する物体を含む動的な環境をシミュレーションする機能を有する。シミュレータ20は、ロボットRBの状態及びロボットRBの周囲の環境に関する状態情報を状態価値算出部30に出力する。
 ここで、状態情報とは、ロボットRBの状態に関するロボット情報、ロボットRBの周囲の環境に関する環境情報、及びロボットRBが到達すべき目的地に関する目的地情報を含む。
 ロボット情報は、ロボットRBの位置及び速度の情報を含む。本実施形態では、ロボットRBの速度vを以下のように二次元座標系におけるベクトルで表す。
v={v、v
 また、本実施形態では、ロボットRBの位置pを以下のように二次元座標系における座標で表す。
p={p、p
 本実施形態では、時刻tにおけるロボットRBの状態sを以下のように表す。
={p、p、v、v、r
 ここで、rは、ロボットRBの影響半径を表す。後述するように、影響半径rは、ロボットRBとロボットRB以外の他の物体とが衝突したか否かを判定する際に用いられる。
 環境情報は、動的な環境に関する情報、具体的には、例えばロボットRBの周囲に存在する人間HB等の移動する物体の位置及び速度の情報を含む。本実施形態では、環境情報が、人間HBに関する情報である場合について説明する。
 本実施形態では、図4に示すように、ロボットRBの周囲の人間HBの状態~sを以下のように表す。なお、本実施形態では、便宜上、数式等において、「~(チルダ)」、「^(ハット)」の記号が文字の上に付されている文字を表記する場合、当該記号を文字の前に表記する場合がある。
Figure JPOXMLDOC01-appb-I000001

 
 ここで、Nは周囲に存在する人間HBの数である。そして、~s 、~s 、・・・~s は、各人間HBのt時刻における状態、すなわち位置及び速度を表す。
 また、本実施形態では、時刻tにおけるロボットRBの状態s及びロボットRBの周囲に存在する人間HBの状態~sを結合した状態s jnを以下のように表す。
Figure JPOXMLDOC01-appb-I000002

 
 目的地情報は、目的地pの位置情報を含む。目的地の位置pは、以下のように二次元座標系における座標で表す。
={px、py}
 状態価値算出部30は、取得した状態情報に基づいて、報酬関数R(sjn、a)を用いて報酬rを算出する。ここで、aは行動を表し、ロボットRBの移動方向、移動速度、介入行動、及び回避行動の少なくとも1つを含む。そして、報酬rは、ロボットRBが目的地pに到着するまでの到着時間、介入行動が実行された回数である介入回数、及びロボットRBが衝突を回避する回避回数が小さくなるように与えられる。
 ここで、介入行動とは、ロボットRBが停止せずに移動するために、周囲の人間HBに対してロボットRBの存在を報知する行動である。具体的には、「道を空けてください」等のメッセージを音声出力したり、警告音を鳴らしたりする等の行動であるが、介入行動はこれらに限られるものではない。また、回避行動とは、ロボットRBが他の物体との衝突を回避する行動であり、他の物体を避けることができる方向及び速度で移動する行動をいう。
 本実施形態では、報酬関数R(sjn、a)を以下のように設定する。なお、以下では単に報酬関数Rと称する場合がある。
Figure JPOXMLDOC01-appb-I000003

 
 ここで、rは環境から得られる報酬、rは介入による影響報酬である。また、αは報酬rの重み、βは報酬rの重みであり、任意の値に設定される。報酬r、報酬rは、以下のように表される。
Figure JPOXMLDOC01-appb-I000004

 
Figure JPOXMLDOC01-appb-I000005

 
 ここで、dは、ロボットRBと人間HBとが衝突しているか否かを判定するために用いられる距離であり、次式で表される。
 d=D-(r+r
 Dは、ロボットRBと人間HBとの距離を表す。rは、前述したロボットRBの影響半径であり、rは人間HBの影響半径である。なお、r=rとしてもよいし、r≠rとしてもよい。dが0未満の場合は、ロボットRBの影響半径r内の領域と人間HBの影響半径r内の領域とが一部重なり合った状態、すなわちロボットRBと人間HBとが接近した状態を表す。本実施形態では、dが0未満の場合は、ロボットRBと人間HBとが衝突したものとみなす。
 また、bは、時刻tにおいてロボットRBが周囲の環境に対して介入行動を行ったか否かを示す介入パラメータである。介入パラメータbが「0」の場合は介入行動を行っていないことを表す。一方、介入パラメータが「0」以外の値の場合は、ロボットRBが介入行動を行ったことを表す。
 上記に示すように、報酬rは、距離dが0未満、すなわちロボットRBが人間HBと衝突したとみなせる場合は「ε」となる。
 また、報酬rは、ロボットRBの位置pが目的地pに到達した場合は、「ε」となる。ここで、報酬εが取り得る値の範囲は、0≦ε≦1である。そして、報酬εは、目的地pに到着するまでの到着時間が遅くなるほど小さい値となるように、すなわち「0」に近づくように与えられる。また、報酬εは、目的地pに到着するまでの到着時間が早くなるほど大きい値となるように、すなわち「1」に近づくように与えられる。
 また、報酬rは、上記以外の場合「0」となる。
 また、報酬rは、介入パラメータbが「0」以外の値の場合は「ε」となる。すなわち、εは、介入行動に関する報酬と言える。また、介入パラメータbが「0」の場合は、報酬rは「0」となる。
 ここで、ε、εは、ネガティブな報酬として0未満の値、すなわちマイナスの値に設定される。すなわち、εは衝突回避に関する報酬、εは介入行動に関する報酬と言える。なお、εを距離dの関数で表してもよい。また、εを介入パラメータbの関数で表してもよい。
 また、状態価値算出部30は、時刻tにおける状態の価値yを状態価値関数V(s jn)を用いた次式により算出する。
Figure JPOXMLDOC01-appb-I000006

   ・・・(1)
 ここで、rは報酬関数Rにより算出された時刻tにおける報酬である。また、Δtは、1ステップにおける時間の増加分である。また、γは報酬の割引率であり、以下のように定義される。
Figure JPOXMLDOC01-appb-I000007

 
 すなわち、割引率γは、0以上且つ1以下の値を取り得る。また、割引率γは、遠い将来に得られる報酬ほど割り引いて評価されるような値に設定される。
 状態価値関数V(s jn)は、後述する方策関数πを用いて選択された方策において、ロボットRB及び周囲の人間HBが状態sjnであることの価値を表す関数であり、次式で表される。ここで、「*」は、最適であることを表しており、Vは最適な状態価値関数を、πは最適な方策関数を表す。なお、以下では、単に状態価値関数Vと称する場合がある。
Figure JPOXMLDOC01-appb-I000008

   ・・・(2)
 上記(2)式は、状態価値関数V(s jn)が、割引率γで割り引かれた、将来得られる報酬を累積した割引累積報酬和、すなわち期待報酬であることを示している。本実施形態では、状態価値関数Vを、ディープニューラルネットワーク(Value-network)を用いて近似する。以下では、状態価値関数Vを表すディープニューラルネットワークをVネットワークと称する。
 状態価値算出部30は、Vネットワークを学習する。本実施形態では一例としてExperience reply bufferを用いた勾配降下法によりVネットワークを学習する。すなわち、バッファEに状態S jn、価値yを記憶しておき、バッファEからランダムに状態S jn、価値yのペアを読み出し、読み出したペアを教師データとしてVネットワークを学習する。すなわちVネットワークのパラメータを更新する。
 行動選択部32は、状態価値算出部30が算出した状態の価値に基づいて、ロボットRBがとるべき行動aを選択する。行動aは、下記(3)式で示される方策関数π(s jn)を用いて選択される。なお、以下では単に方策関数πと称する場合がある。
Figure JPOXMLDOC01-appb-I000009

 
                               ・・・(3)
 ここで、P(s jn、st+Δt jn|a)は、行動aを選択した場合の状態遷移確率を表す。
 行動選択部32は、方策関数π(s jn)により選択された行動aをシミュレータ20に出力する。これにより、シミュレータ20は、シミュレーションによりロボットRBに行動aを実行させる。例えば行動aが、移動方向m及び移動速度vで移動することであった場合は、シミュレータ20は、シミュレーションにおいて移動方向m及び移動速度vでロボットRBを移動させる。また、行動aが介入行動であった場合は、シミュレータ20は、「道を空けてください」等のメッセージを音声出力したり、警告音を鳴らす等の介入行動を実行した場合に周囲の人間HBが取り得る回避行動をシミュレーションする。このようにロボットRBが行動aを実行することにより、ロボットRBの状態s及び周囲の人間HBの状態~sも変化する。そして、変化後の状態について、上記と同様に、報酬rの算出、状態価値Vの算出、行動aの選択及び実行、Vネットワークのパラメータの更新の処理を繰り返すことにより、Vネットワークを学習する。
 このように、ロボット制御モデル学習装置10は、機能的には、状態情報を入力し、入力した状態情報に対応する行動を選択して出力するロボット制御モデルと言える。
 次に、ロボット制御モデル学習装置10の作用について説明する。
 図5は、ロボット制御モデル学習装置10によるロボット制御モデル学習処理の流れを示すフローチャートである。CPU11がストレージ14からロボット制御モデル学習プログラムを読み出して、RAM13に展開し実行することにより、ロボット制御モデル学習処理が行なわれる。
 ステップS100では、CPU11が、状態価値算出部30として、目的地pの位置情報をシミュレータ20から取得する。
 ステップS102では、CPU11が、状態価値算出部30として、状態価値関数Vを初期化する。すなわち、Vネットワークのパラメータを初期化する。
 ステップS104では、CPU11が、状態価値算出部30として、ロボットRBの状態sを初期化する。
 ステップS106では、CPU11が、状態価値算出部30として、周囲の人間HBの状態~sを初期化する。
 ステップS108では、CPU11が、行動選択部32として、ロボットRBが最初にとる行動aを設定し、設定した行動aをシミュレータ20に出力することによりロボットRBに行動aを実行させる。これにより、シミュレータ20は、シミュレーションにおいて行動aを実行する。
 ステップS110では、CPU11が、状態価値算出部30として、シミュレータ20からロボットRBの状態sを取得する。
 ステップS112では、CPU11が、状態価値算出部30として、シミュレータ20から周囲の人間HBの状態~sを取得する。
 ステップS114では、CPU11が、状態価値算出部30として、シミュレータ20から取得したロボットRB及び周囲の人間HBの状態s jnと、行動aと、に基づいて、報酬関数Rにより報酬rを算出する。
 ステップS116では、CPU11が、状態価値算出部30として、上記(1)式により状態の価値yを算出する。
 ステップS118では、CPU11が、行動選択部32として、上記(3)式により行動aを選択し、選択した行動aをシミュレータ20に出力する。これにより、シミュレータ20は、シミュレーションにおいてロボットRBに行動aを実行させる。
 ステップS120では、CPU11が、状態価値算出部30として、ロボットRBの状態s jn及び状態価値yをペアとしてバッファEに記憶する。
 ステップS122では、CPU11が、状態価値算出部30として、Vネットワークのパラメータを更新する。すなわちVネットワークを学習する。このとき、バッファEに記憶された過去の状態sjn及び状態価値yをランダムに選択し、これを教師データとしてVネットワークのパラメータを更新する。すなわち強化学習における勾配降下法を用いてVネットワークのパラメータを更新する。なお、ステップS122の処理は、毎回実行せずに複数回に1回実行すればよい。
 ステップS124では、CPU11が、状態価値算出部30として、ロボットRBが目的地pに到達したか否かを判定する。すなわち、ロボットRBの位置pが、目的地pと一致するか否かを判定する。そして、ロボットRBが目的地pに到達したと判定した場合は、ステップS126へ移行する。一方、ロボットRBが目的地pに到達していないと判定した場合は、ステップS110へ移行し、ロボットRBが目的地pに到達したと判定されるまでステップS110~S124の処理を繰り返す。すなわち、Vネットワークを学習する。なお、ステップS110~S124までの処理は、学習工程の一例である。
 ステップS126では、CPU11が、状態価値算出部30として、学習を終了する終了条件を満たすか否かを判定する。終了条件は、本実施形態では、例えばロボットRBがスタート地点から目的地pに到着するまでを1エピソードとして、予め定めた数(例えば100)のエピソードが終了した場合である。CPU11は、終了条件を満たすと判定した場合は本ルーチンを終了する。一方、終了条件を満たさない場合はステップS100へ移行し、目的地pを変えてステップS100~S126までの処理を終了条件を満たすまで繰り返す。
 以上より、本実施形態では、報酬関数Rによって算出される報酬rは、衝突回避に関する報酬ε及び介入行動に関する報酬εを含み、これらはネガティブな報酬としてマイナスの値をとる。このような報酬関数Rを用いてVネットワークを学習することにより、ロボットRBが介入行動をとる介入回数及び衝突回避の回数を少なくすることができる。これにより、周囲の環境にストレスを与えることを減らしつつ、ロボットRBが目的地pに到着するまでの時間を短縮することができる。
 次に、ロボット制御モデル学習装置10により学習されたロボット制御モデルにより制御されるロボットRBについて説明する。
 図6には、ロボットRBの概略構成を示した。図6に示すように、ロボットRBは、ロボット制御装置40、カメラ42、ロボット情報取得部44、報知部46、及び自律走行部48を備える。ロボット制御装置40は、状態情報取得部50及び制御部52を備える。
 カメラ42は、スタート地点から目的地pに移動するまでの間、ロボットRBの周囲を予め定めた間隔で撮影し、撮影した撮影画像をロボット制御装置40の状態情報取得部50に出力する。
 ロボット情報取得部44は、ロボットRBの状態sを取得する。すなわちロボットRBの位置及び速度を取得する。具体的には、ロボットRBの位置pは、例えばGPS(Global Positioning System)装置を用いて取得してもよいし、SLAM(Simultaneous Localization and Mapping)等の公知の自己位置推定技術を用いて取得してもよい。また、ロボットRBの速度は、例えば速度センサを用いて取得する。
 ロボット情報取得部44は、取得したロボットRBの状態sを状態情報取得部50に出力する。
 状態情報取得部50は、カメラ42が撮影した撮影画像に基づいて人間HBの状態~sを取得する。具体的には、公知の手法を用いて撮影画像を解析し、ロボットRBの周囲に存在する人間HBの位置及び速度を算出する。
 また、状態情報取得部50には、例えば外部装置から通信により目的地情報が入力される。
 状態情報取得部50は、取得した目的地情報、ロボットRBの状態s、及び人間HBの状態~sを含む状態情報を制御部52に出力する。
 制御部52は、ロボット制御モデル学習装置10で学習されたロボット制御モデルの機能を有する。すなわち、Vネットワークが学習済みの状態価値算出部30及び行動選択部32の機能を有する。
 制御部52は、入力された状態情報に対応する行動を選択し、選択した行動に基づいて報知部46及び自律走行部48の少なくとも一方を制御する。
 報知部46は、音声を出力したり、警告音を出力したりすることにより、ロボットRBの存在を周囲の人間HBに報知する機能を有する。
 自律走行部48は、タイヤ及びタイヤを駆動するモータ等のロボットRBを自律走行させる機能を有する。
 制御部52は、選択された行動が、指定された方向及び速度でロボットRBを移動させる行動であった場合は、指定された方向及び速度でロボットRBが移動するように自律走行部48を制御する。
 また、制御部52は、選択された行動が介入行動であった場合には、「道を空けてください」等のメッセージを音声出力したり、警告音を鳴らすよう報知部46を制御する。
 次に、ロボット制御装置40のハードウェア構成について説明する。
 図7に示すように、ロボット制御装置40は、CPU(Central Processing Unit)61、ROM(Read Only Memory)62、RAM(Random Access Memory)63、ストレージ64、及び通信インタフェース65を有する。各構成は、バス66を介して相互に通信可能に接続されている。
 本実施形態では、ストレージ64には、ロボット制御プログラムが格納されている。CPU61は、中央演算処理ユニットであり、各種プログラムを実行したり、各構成を制御したりする。すなわち、CPU61は、ストレージ64からプログラムを読み出し、RAM63を作業領域としてプログラムを実行する。CPU61は、ストレージ64に記録されているプログラムに従って、上記各構成の制御及び各種の演算処理を行う。
 ROM62は、各種プログラム及び各種データを格納する。RAM63は、作業領域として一時的にプログラム又はデータを記憶する。ストレージ64は、HDD(Hard Disk Drive)又はSSD(Solid State Drive)により構成され、オペレーティングシステムを含む各種プログラム、及び各種データを格納する。
 通信インタフェース65は、他の機器と通信するためのインタフェースであり、例えば、イーサネット(登録商標)、FDDI又はWi-Fi(登録商標)等の規格が用いられる。
 次に、ロボット制御装置40の作用について説明する。
 図8は、ロボット制御装置40によるロボット制御処理の流れを示すフローチャートである。CPU51がストレージ64からロボット制御プログラムを読み出して、RAM63に展開し実行することにより、ロボット制御処理が行なわれる。
 ステップS200では、CPU61が、状態情報取得部50として、目的地pの位置情報を例えば図示しない外部装置から通信により取得する。
 ステップS202では、CPU61が、状態情報取得部50として、ロボット情報取得部44からロボットRBの状態sを取得する。
 ステップS204では、CPU61が、状態価値算出部30として、カメラ42で撮影された撮影画像に基づいて、周囲の人間HBの状態~sを取得する。
 ステップS206では、CPU61が、制御部52として、状態情報取得部50から取得したロボットRB及び周囲の人間HBの状態s jnと、行動aと、に基づいて、報酬関数Rにより報酬rを算出する。
 ステップS208では、CPU61が、制御部52として、上記(1)式により状態の価値yを算出する。
 ステップS210では、CPU61が、制御部52として、上記(3)式により行動aを選択し、選択した行動aに基づいて報知部46及び自律走行部48の少なくとも一方を制御する。これにより、ロボットRBは、行動aを実行する。
 ステップS212では、CPU61が、制御部52として、ロボットRBが目的地pに到達したか否かを判定する。すなわち、ロボットRBの位置pが、目的地pと一致するか否かを判定する。そして、ロボットRBが目的地pに到達したと判定した場合は、本ルーチンを終了する。一方、ロボットRBが目的地pに到達していないと判定した場合は、ステップS202へ移行し、ロボットRBが目的地pに到達したと判定されるまでステップS202~S212の処理を繰り返す。なお、ステップS202~S212までの処理は、制御工程の一例である。
 このように、本実施形態では、ロボット制御モデル学習装置10によって学習されたロボット制御モデルに基づいてロボットRBが制御される。これにより、ロボットRBが介入行動をとる介入回数及び衝突回避の回数を少なくすることができる。従って、周囲の環境にストレスを与えることを減らしつつ、ロボットRBが目的地pに到着するまでの時間を短縮することができる。
 なお、本実施形態では、状態価値関数Vを学習する場合について説明したが、学習方法はこれに限られるものではない。例えば、状態価値関数Vを学習することに代えて、ロボットRBの行動価値を算出する行動価値関数Q(sjn、a)を学習するようにしてもよい。
 また、本実施形態では、報酬関数Rが出力する報酬として、衝突回避に関する報酬ε、介入行動に関する報酬εを含む場合について説明したが、衝突回避に関する報酬εを含まないようにしてもよい。
 また、本実施形態では、ロボットRBがカメラ42を備えた構成について説明したが、これに限られない。例えば、カメラ42を省略し、外部装置からロボットRBを俯瞰した俯瞰画像を取得し、取得した俯瞰画像を解析することによりロボットRBの周囲の人間HBの状態~sを取得するようにしてもよい。
 また、本実施形態では、ロボットRBがロボット制御装置40を備えた場合について説明したが、ロボット制御装置40の機能を外部サーバに設けてもよい。この場合、ロボットRBは、カメラ42で撮影した撮影画像及びロボット情報取得部44で取得したロボット情報を外部サーバに送信し、外部サーバから指示された行動を実行する。
 なお、上記各実施形態でCPUがソフトウェア(プログラム)を読み込んで実行したロボット制御処理を、CPU以外の各種のプロセッサが実行してもよい。この場合のプロセッサとしては、FPGA(Field-Programmable Gate Array)等の製造後に回路構成を変更可能なPLD(Programmable Logic Device)、及びASIC(Application Specific Integrated Circuit)等の特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路等が例示される。また、ロボット制御モデル学習処理及びロボット制御処理を、これらの各種のプロセッサのうちの1つで実行してもよいし、同種又は異種の2つ以上のプロセッサの組み合わせ(例えば、複数のFPGA、及びCPUとFPGAとの組み合わせ等)で実行してもよい。また、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子等の回路素子を組み合わせた電気回路である。
 また、上記各実施形態では、ロボット制御モデル学習プログラムがストレージ14に予め記憶され、ロボット制御プログラムがストレージ64に予め記憶されている態様を説明したが、これに限定されない。プログラムは、CD-ROM(Compact Disc Read Only Memory)、DVD-ROM(Digital Versatile Disc Read Only Memory)、及びUSB(Universal Serial Bus)メモリ等の記録媒体に記録された形態で提供されてもよい。また、プログラムは、ネットワークを介して外部装置からダウンロードされる形態としてもよい。
 本明細書に記載された全ての文献、特許出願、及び技術規格は、個々の文献、特許出願、及び技術規格が参照により取り込まれることが具体的かつ個々に記された場合と同程度に、本明細書中に参照により取り込まれる。
10 ロボット制御モデル学習装置
20 シミュレータ
30 状態価値算出部
32 行動選択部
40 ロボット制御装置
42 カメラ
44 ロボット情報取得部
46 報知部
48 自律走行部
50 状態情報取得部
52 制御部
HB 人間
RB ロボット

Claims (10)

  1.  コンピュータが、
     動的な環境において目的地まで自律走行するロボットの状態を表す状態情報を入力として、前記環境に介入する介入行動を含む複数の行動の中から前記ロボットの状態に応じた行動を選択して出力するロボット制御モデルを、前記介入行動を実行した介入回数をマイナスの報酬として強化学習する学習工程
     を含む処理を実行するロボット制御モデル学習方法。
  2.  前記行動は、前記ロボットの移動方向、前記ロボットの移動速度、及び前記介入行動の少なくとも1つを含み、
     前記報酬は、前記ロボットが前記目的地に到着するまでの到着時間及び前記介入回数の少なくとも一方が小さくなるように与えられる
     請求項1記載のロボット制御モデル学習方法。
  3.  前記行動は、前記ロボットが他の物体との衝突を回避する回避行動を含み、
     前記報酬は、前記衝突を回避する回避回数が小さくなるように与えられる
     請求項1又は請求項2記載のロボット制御モデル学習方法。
  4.  前記学習工程は、前記ロボットの状態を表す状態価値関数を更新することにより強化学習する
     請求項1~3の何れか1項に記載のロボット制御モデル学習方法。
  5.  動的な環境において目的地まで自律走行するロボットの状態を表す状態情報を入力として、前記環境に介入する介入行動を含む複数の行動の中から前記ロボットの状態に応じた行動を選択して出力するロボット制御モデルを、前記介入行動を実行した介入回数をマイナスの報酬として強化学習する学習部
     を含むロボット制御モデル学習装置。
  6.  コンピュータに、
     動的な環境において目的地まで自律走行するロボットの状態を表す状態情報を入力として、前記環境に介入する介入行動を含む複数の行動の中から前記ロボットの状態に応じた行動を選択して出力するロボット制御モデルを、前記介入行動を実行した介入回数をマイナスの報酬として強化学習する学習工程
     を含む処理を実行させるためのロボット制御モデル学習プログラム。
  7.  コンピュータが、
     動的な環境において目的地まで自律走行するロボットの状態を表す状態情報を取得する取得工程と、
     前記状態情報と、請求項1~4の何れか1項に記載のロボット制御モデル学習方法により学習されたロボット制御モデルと、に基づいて、前記ロボットが前記目的地に移動するように制御する制御工程と、
     を含む処理を実行するロボット制御方法。
  8.  動的な環境において目的地まで自律走行するロボットの状態を表す状態情報を取得する取得部と、
     前記状態情報と、請求項5記載のロボット制御モデル学習装置により学習されたロボット制御モデルと、に基づいて、前記ロボットが前記目的地に移動するように制御する制御部と、
     を含むロボット制御装置。
  9.  コンピュータに、
     動的な環境において目的地まで自律走行するロボットの状態を表す状態情報を取得する取得工程と、
     前記状態情報と、請求項1~4の何れか1項に記載のロボット制御モデル学習方法により学習されたロボット制御モデルと、に基づいて、前記ロボットが前記目的地に移動するように制御する制御工程と、
     を含む処理を実行させるためのロボット制御プログラム。
  10.  動的な環境において目的地まで自律走行するロボットの状態を表す状態情報を取得する取得部と、
     前記ロボットを自律走行させる自律走行部と、
     前記状態情報と、請求項5記載のロボット制御モデル学習装置により学習されたロボット制御モデルと、に基づいて、前記ロボットが前記目的地に移動するように制御する制御部と、を含むロボット制御装置と、
     を含むロボット。
PCT/JP2020/039554 2019-11-13 2020-10-21 ロボット制御モデル学習方法、ロボット制御モデル学習装置、ロボット制御モデル学習プログラム、ロボット制御方法、ロボット制御装置、ロボット制御プログラム、及びロボット Ceased WO2021095464A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/774,604 US12474704B2 (en) 2019-11-13 2020-10-21 Robot control model learning method for reducing frequency of robot intervention behavior
EP20888239.9A EP4060446B1 (en) 2019-11-13 2020-10-21 Robot control model learning method, robot control model learning device, robot control model learning program, robot control method, robot control device, robot control program, and robot
CN202080076868.3A CN114667494B (zh) 2019-11-13 2020-10-21 机器人控制模型学习方法、机器人控制模型学习装置、机器人控制方法、机器人控制装置、记录介质以及机器人

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019205690A JP7400371B2 (ja) 2019-11-13 2019-11-13 ロボット制御モデル学習方法、ロボット制御モデル学習装置、ロボット制御モデル学習プログラム、ロボット制御方法、ロボット制御装置、ロボット制御プログラム、及びロボット
JP2019-205690 2019-11-13

Publications (1)

Publication Number Publication Date
WO2021095464A1 true WO2021095464A1 (ja) 2021-05-20

Family

ID=75898026

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/039554 Ceased WO2021095464A1 (ja) 2019-11-13 2020-10-21 ロボット制御モデル学習方法、ロボット制御モデル学習装置、ロボット制御モデル学習プログラム、ロボット制御方法、ロボット制御装置、ロボット制御プログラム、及びロボット

Country Status (5)

Country Link
US (1) US12474704B2 (ja)
EP (1) EP4060446B1 (ja)
JP (1) JP7400371B2 (ja)
CN (1) CN114667494B (ja)
WO (1) WO2021095464A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023074279A1 (ja) * 2021-10-29 2023-05-04 オムロン株式会社 俯瞰データ生成装置、俯瞰データ生成プログラム、俯瞰データ生成方法、及びロボット
JP2023135615A (ja) * 2022-03-15 2023-09-28 オムロン株式会社 俯瞰データ生成装置、学習装置、俯瞰データ生成プログラム、俯瞰データ生成方法、及びロボット

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7716951B2 (ja) 2021-09-30 2025-08-01 本田技研工業株式会社 移動体制御装置、移動体、学習装置、学習方法、および、プログラム
JP2024060341A (ja) * 2022-10-19 2024-05-02 株式会社日立製作所 プラント制御システム及びプラント制御方法
CN119781315B (zh) * 2025-01-08 2025-07-25 杭州涛谱科技有限公司 一种基于虚拟工厂机器人的fsm仿真方法及系统
CN120297357B (zh) * 2025-03-31 2025-10-28 北京人形机器人创新中心有限公司 机器人的策略模型训练方法、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012039280A1 (ja) * 2010-09-21 2012-03-29 トヨタ自動車株式会社 移動体
JP2012139798A (ja) * 2011-01-05 2012-07-26 Advanced Telecommunication Research Institute International 移動ロボット、移動ロボット用の学習システムおよび移動ロボットの行動学習方法
JP2012187698A (ja) * 2011-03-08 2012-10-04 Rota Kk 走行ロボットのやり直し走行、そのティーチング方法および制御方法
WO2018110305A1 (ja) * 2016-12-14 2018-06-21 ソニー株式会社 情報処理装置及び情報処理方法
JP2018198012A (ja) * 2017-05-24 2018-12-13 日本電信電話株式会社 ネットワーク学習装置、行動決定装置、ネットワーク学習方法、及びプログラム
JP2019096012A (ja) * 2017-11-22 2019-06-20 日本電信電話株式会社 移動体制御方法及び移動体制御装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110144850A1 (en) 2008-01-16 2011-06-16 Takashi Jikihara Moving apparatus, moving method of moving apparatus, and movement control program of moving apparatus
JP5089533B2 (ja) * 2008-08-28 2012-12-05 株式会社神戸製鋼所 ロボットの干渉回避方法及びロボットシステム
US20100194593A1 (en) * 2009-02-05 2010-08-05 Paccar Inc Neural network for intelligent transportation systems
CN103901887B (zh) * 2014-03-04 2017-05-24 重庆邮电大学 一种基于改进粒子群算法的多移动机器人编队控制方法
US11576543B2 (en) * 2014-07-18 2023-02-14 Ali Ebrahimi Afrouzi Robotic vacuum with rotating cleaning apparatus
US10872379B1 (en) * 2016-04-11 2020-12-22 State Farm Mutual Automobile Insurance Company Collision risk-based engagement and disengagement of autonomous control of a vehicle
US10678241B2 (en) * 2017-09-06 2020-06-09 GM Global Technology Operations LLC Unsupervised learning agents for autonomous driving applications
CN107440891B (zh) 2017-09-11 2020-04-28 西安智财全技术转移中心有限公司 一种基于数据分析的智能共享导盲机器人
JP2019079227A (ja) * 2017-10-24 2019-05-23 日本電信電話株式会社 状態遷移規則獲得装置、行動選択学習装置、行動選択装置、状態遷移規則獲得方法、行動選択方法、およびプログラム
JP6917878B2 (ja) * 2017-12-18 2021-08-11 日立Astemo株式会社 移動体挙動予測装置
US10795360B2 (en) * 2018-04-06 2020-10-06 Honda Motor Co., Ltd. Utility decomposition with deep corrections
CN108803615B (zh) * 2018-07-03 2021-03-23 东南大学 一种基于深度强化学习的虚拟人未知环境导航算法
US11199853B1 (en) * 2018-07-11 2021-12-14 AI Incorporated Versatile mobile platform
CN109213148B (zh) * 2018-08-03 2021-05-28 东南大学 一种基于深度强化学习的车辆低速跟驰决策方法
US12517511B2 (en) * 2019-02-05 2026-01-06 Nvidia Corporation Combined prediction and path planning for autonomous objects using neural networks
CN109828574B (zh) * 2019-02-22 2022-05-03 深兰机器人(上海)有限公司 一种避障方法及电子设备
CN110377038A (zh) * 2019-07-15 2019-10-25 深圳优地科技有限公司 一种机器人避让行驶方法、装置及机器人

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012039280A1 (ja) * 2010-09-21 2012-03-29 トヨタ自動車株式会社 移動体
JP2012139798A (ja) * 2011-01-05 2012-07-26 Advanced Telecommunication Research Institute International 移動ロボット、移動ロボット用の学習システムおよび移動ロボットの行動学習方法
JP2012187698A (ja) * 2011-03-08 2012-10-04 Rota Kk 走行ロボットのやり直し走行、そのティーチング方法および制御方法
WO2018110305A1 (ja) * 2016-12-14 2018-06-21 ソニー株式会社 情報処理装置及び情報処理方法
JP2018198012A (ja) * 2017-05-24 2018-12-13 日本電信電話株式会社 ネットワーク学習装置、行動決定装置、ネットワーク学習方法、及びプログラム
JP2019096012A (ja) * 2017-11-22 2019-06-20 日本電信電話株式会社 移動体制御方法及び移動体制御装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
DECENTRALIZED NON-COMMUNICATING MULTIAGENT COLLISION AVOIDANCE WITH DEEP REINFORCEMENT LEARNING, Retrieved from the Internet <URL:https://arxiv.org/pdf/1609.07845>
See also references of EP4060446A4
SOCIALLY AWARE MOTION PLANNING WITH DEEP REINFORCEMENT LEARNING, Retrieved from the Internet <URL:https://arxiv.org/pdf/1703.08862.pdf>

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023074279A1 (ja) * 2021-10-29 2023-05-04 オムロン株式会社 俯瞰データ生成装置、俯瞰データ生成プログラム、俯瞰データ生成方法、及びロボット
JP2023066840A (ja) * 2021-10-29 2023-05-16 オムロン株式会社 俯瞰データ生成装置、俯瞰データ生成プログラム、俯瞰データ生成方法、及びロボット
JP7438510B2 (ja) 2021-10-29 2024-02-27 オムロン株式会社 俯瞰データ生成装置、俯瞰データ生成プログラム、俯瞰データ生成方法、及びロボット
JP2023135615A (ja) * 2022-03-15 2023-09-28 オムロン株式会社 俯瞰データ生成装置、学習装置、俯瞰データ生成プログラム、俯瞰データ生成方法、及びロボット
JP7438515B2 (ja) 2022-03-15 2024-02-27 オムロン株式会社 俯瞰データ生成装置、学習装置、俯瞰データ生成プログラム、俯瞰データ生成方法、及びロボット

Also Published As

Publication number Publication date
JP2021077286A (ja) 2021-05-20
EP4060446B1 (en) 2024-11-13
JP7400371B2 (ja) 2023-12-19
EP4060446A4 (en) 2023-12-13
EP4060446A1 (en) 2022-09-21
CN114667494A (zh) 2022-06-24
US20220397900A1 (en) 2022-12-15
US12474704B2 (en) 2025-11-18
CN114667494B (zh) 2025-09-16

Similar Documents

Publication Publication Date Title
JP7400371B2 (ja) ロボット制御モデル学習方法、ロボット制御モデル学習装置、ロボット制御モデル学習プログラム、ロボット制御方法、ロボット制御装置、ロボット制御プログラム、及びロボット
KR102857413B1 (ko) 리스크 척도를 나타내는 파라미터에 기반하여 훈련된 모델을 사용하여, 주어진 상황에 대한 디바이스의 행동을 결정하는 방법 및 시스템
JP7707846B2 (ja) 経路計画システム、経路計画方法、ロードマップ構築装置、モデル生成装置、及びモデル生成方法
KR101048098B1 (ko) 로봇의 경로계획 장치 및 방법
TWI722044B (zh) 基於快速探索隨機化回饋的運動規劃
KR102303126B1 (ko) 사용자 선호에 따른 강화학습 기반 자율주행 최적화 방법 및 시스템
US20200097015A1 (en) System and method for motion planning of an autonomous driving machine
González et al. High-speed highway scene prediction based on driver models learned from demonstrations
CN113988196B (zh) 一种机器人移动方法、装置、设备及存储介质
O’Callaghan et al. Gaussian process occupancy maps for dynamic environments
CN113479219B (zh) 一种行车轨迹规划方法、装置、计算机设备和介质
TWI846244B (zh) 軌跡修正系統及其方法
Cimurs et al. Information-based heuristics for learned goal-driven exploration and mapping
CN114698388A (zh) 自身位置估计模型学习方法、自身位置估计模型学习装置、自身位置估计模型学习程序、自身位置估计方法、自身位置估计装置、自身位置估计程序以及机器人
Tao et al. Fast and robust training and deployment of deep reinforcement learning based navigation policy
KR20230045826A (ko) 센서 구성과 로봇 형태에 적응 가능한 강화학습 기반 자율주행 방법, 컴퓨터 시스템, 및 컴퓨터 프로그램
CN115113627B (zh) 机器人、路径规划方法和计算机可读存储介质
JP7584385B2 (ja) 移動体制御装置、移動体、移動体制御方法、プログラム、および学習装置
JP7459238B2 (ja) ユーザ選好による強化学習基盤の自律走行最適化方法およびシステム
US12320636B2 (en) Interacting with machines using natural language input and a state graph
Shuai et al. Target-Driven Autonomous Robot Exploration in Mappless Indoor Environments Through Deep Reinforcement Learning
Jiang et al. An improved optimal reciprocal collision avoidance with Q-learning for local path planning of mobile robots
Nguyen et al. Combination of Deep Reinforcement Learning and Pure-Pursuit Algorithm for Adaptive Autonomous Mobile Robot Navigation
JP2024155611A (ja) 経路計画装置、方法、プログラム、及び移動制御システム
WO2025027683A1 (ja) 移動体管理システム、移動体制御システム及び移動体管理方法

Legal Events

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

Ref document number: 20888239

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020888239

Country of ref document: EP

Effective date: 20220613

WWG Wipo information: grant in national office

Ref document number: 202080076868.3

Country of ref document: CN

WWG Wipo information: grant in national office

Ref document number: 17774604

Country of ref document: US