WO2020136977A1 - 経路決定装置、ロボット及び経路決定方法 - Google Patents
経路決定装置、ロボット及び経路決定方法 Download PDFInfo
- Publication number
- WO2020136977A1 WO2020136977A1 PCT/JP2019/031194 JP2019031194W WO2020136977A1 WO 2020136977 A1 WO2020136977 A1 WO 2020136977A1 JP 2019031194 W JP2019031194 W JP 2019031194W WO 2020136977 A1 WO2020136977 A1 WO 2020136977A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- robot
- route
- cnn
- axis
- traffic
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 22
- 238000004422 calculation algorithm Methods 0.000 claims description 27
- 230000007246 mechanism Effects 0.000 claims description 14
- 238000013459 approach Methods 0.000 claims description 6
- 238000013527 convolutional neural network Methods 0.000 description 40
- 230000006870 function Effects 0.000 description 12
- 238000005259 measurement Methods 0.000 description 9
- 230000001133 acceleration Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 238000005070 sampling Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000004904 shortening Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
- B25J9/1666—Avoiding collision or forbidden zones
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme 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/1697—Vision controlled systems
Definitions
- the present invention relates to a route determination device for determining a route of an autonomous mobile robot.
- the one described in Patent Document 1 is known as a route determination device that determines the route of an autonomous mobile robot.
- the possibility time of interference that the robot is expected to interfere with the traffic participant is calculated based on the speed of the traffic participant such as a pedestrian, and the traffic participant is determined to be predetermined.
- a virtual obstacle region assumed to move after a lapse of time is calculated.
- the route of the robot is determined based on the possible collision time and the virtual obstacle region. This avoids interference between the robot and traffic participants.
- An object of the present invention is to provide a route determining device and the like that can determine the route of a robot.
- the present invention determines a route when an autonomous mobile robot moves to a destination under conditions where traffic participants including pedestrians are present in the traffic environment to the destination.
- a route determination device which uses a predetermined prediction algorithm to determine a predicted route that is a predicted value of the route of the robot so as to avoid interference between the robot and a traffic participant; Assuming that the vehicle moves on the predicted route from the current position, a predetermined control algorithm is used so that the objective function that includes the distance to the traffic participant closest to the robot and the velocity of the robot as independent variables has the maximum value.
- a route determination unit that determines a route of the robot.
- a predicted route which is a predicted value of the route of the robot, is determined by using a predetermined prediction algorithm so as to avoid interference between the robot and the traffic participants. Then, assuming that the robot moves on the predicted route from the current position, a predetermined control algorithm is set so that the objective function including the distance to the traffic participant closest to the robot and the speed of the robot as independent variables becomes the maximum value. Is used to determine the robot's path. In this way, when the route of the robot is determined so that the objective function including the distance to the traffic participant closest to the robot and the speed of the robot as the independent variables becomes the maximum value, the distance to the traffic participant and the robot The route of the robot can be determined while ensuring the speed as large and balanced as possible.
- determining the path of the robot in this specification means a value indicating the moving direction and moving speed of the robot (for example, a moving speed command described later)).
- immovable obstacles are also included.
- the predetermined control algorithm is an algorithm to which Dynamic Window Approach is applied.
- Dynamic Window Approach has the characteristics of being able to reduce the time required to determine the route of the robot and the computational load compared to other methods. Therefore, according to this route determination device, it is possible to determine the route of the robot while shortening the time required for route determination and reducing the calculation load by using the algorithm to which Dynamic Window Approach is applied. ..
- a robot of the present invention includes the above-mentioned route determining device and a control unit that controls a moving mechanism of the robot so as to move along the route determined by the route determining device. It is a feature.
- the present invention determines a route when an autonomous mobile robot moves to a destination under the condition that a traffic participant including a pedestrian exists in a traffic environment to the destination.
- a method of determining a route wherein a predetermined prediction algorithm is used to determine a predicted route that is a predicted value of the route of the robot so that interference between the robot and a traffic participant is avoided,
- a predetermined control algorithm is used so that the objective function that includes the distance to the closest traffic participant to the robot and the robot's velocity as independent variables has the maximum value, assuming that the robot moves on the predicted route from the current position. And determining the path of the robot.
- a route determination device according to an embodiment of the present invention will be described below with reference to the drawings.
- the route determination device 1 of the present embodiment is applied to an inverted pendulum type robot 2, and the robot 2 is operated by a method described later under the condition that the existence probability of traffic participants is high. To determine the route.
- This robot 2 is an autonomous mobile type and is used in the guidance system 3 shown in FIG.
- the guide system 3 is of a type in which a robot 2 guides a user to a destination (for example, a store or a boarding gate) of the user in a shopping mall or an airport.
- the guidance system 3 is provided with a plurality of robots 2 autonomously moving within a predetermined area, and an input device 4 provided separately from the plurality of robots 2 for inputting a destination of a user. And a server 5 capable of mutually wirelessly communicating with the robot 2 and the input device 4.
- the input device 4 is of a personal computer type, and when the user's (or operator's) mouse and keyboard are operated to input a user's destination, a wireless signal representing the destination is transmitted to the server 5. To do. Upon receiving the wireless signal from the input device 4, the server 5 sets the destination itself of the user or a relay point to the destination to the destination Pobj based on the internal map data, and outputs the destination signal indicating the destination. Send to the robot 2.
- control device 10 in the robot 2 receives the destination signal from the server 5 via the wireless communication device 14, the control device 10 reads the destination Pobj included in the destination signal, and the destination Pobj. Determine the route to.
- the robot 2 includes a main body 20 and a moving mechanism 21 provided below the main body 20, and the moving mechanism 21 is configured to be movable in all directions on the road surface. ..
- the moving mechanism 21 is specifically configured in the same manner as that of, for example, JP-A-2017-56763, a detailed description thereof will be omitted here, but an annular core body 22, a plurality of rollers. 23, a first actuator 24 (see FIG. 3), a second actuator 25 (see FIG. 3), and the like.
- the plurality of rollers 23 are externally attached to the core body 22 so as to be arranged at equal angular intervals in the circumferential direction (axial center circumferential direction) of the core body 22, and each of the plurality of rollers 23 corresponds to the core body 22. It is rotatable integrally with the core body 22 around the axis. Further, each roller 23 is rotatable about a central axis of a cross section of the core body 22 (an axis in a tangential direction of a circumference around the axis of the core body 22) at a position where each roller 23 is arranged. ..
- the first actuator 24 is composed of an electric motor, and when a control input signal described later is input from the control device 10, the core body 22 is rotationally driven around its axis via a drive mechanism (not shown). To do.
- the second actuator 25 is also composed of an electric motor similarly to the first actuator 24, and when the control input signal is input from the control device 10, the roller 23 is driven by its axis via a drive mechanism (not shown). Drive to rotate around the heart. Thereby, the main body 20 is driven by the first actuator 24 and the second actuator 25 so as to move in all directions on the road surface. With the above configuration, the robot 2 can move in all directions on the road surface.
- the robot 2 further includes a control device 10, a camera 11, a LIDAR 12, an acceleration sensor 13, and a wireless communication device 14.
- the control device 10 (control unit) is composed of a microcomputer including a CPU, a RAM, a ROM, an E2PROM, an I/O interface, and various electric circuits (none of which is shown).
- E2PROM map data of a place where the robot 2 guides and CNN (Convolutional Neural Network) are stored.
- CNN Convolutional Neural Network
- the CNN the one in which the model parameter of the CNN, that is, the weight and the bias term of the coupling layer are sufficiently learned by the learning device 30 described later is stored.
- the camera 11 images the surrounding environment of the robot 2 and outputs an image signal representing it to the control device 10.
- the LIDAR 12 measures the distance to an object in the surrounding environment using laser light and outputs a measurement signal indicating the distance to the control device 10.
- the acceleration sensor 13 detects the acceleration of the robot 2 and outputs a detection signal indicating the acceleration to the control device 10.
- the control device 10 estimates the self-position of the robot 2 by the amlc (adaptive Monte Carlo localization) method using the image signal of the camera 11 and the measurement signal of the LIDAR 12 described above. Further, the control device 10 calculates an x-axis velocity v_x and a y-axis velocity v_y of the robot 2 which will be described later, based on the measurement signal of the LIDAR 12 and the detection signal of the acceleration sensor 13.
- a wireless communication device 14 is electrically connected to the control device 10, and the control device 10 executes wireless communication with the server 5 via the wireless communication device 14.
- the learning device 30 is for learning CNN model parameters (coupling layer weights and bias terms) described later, and includes a LIDAR 31, a walking route acquisition unit 32, a learning data acquisition unit 33, and a CNN learning unit 34. I have it. These elements 32 to 34 are specifically configured by a controller (not shown) or the like.
- the first pedestrian M1 is set as a reference pedestrian, and the first pedestrian M1 is set to the walking start point Ps( 6) to the destination point Po (see FIG. 6), at the start of walking, a crowded traffic environment in which a plurality of second pedestrians M2 exist in an irregular arrangement in the traveling direction is set. ..
- the change in position when the first pedestrian M1 actually walks from the walking start point Ps to the destination point Po and the change in position of the plurality of second pedestrians M2 are measured, and The measurement result is output to the walking route acquisition unit 32.
- the walking route acquisition unit 32 sequentially acquires and stores the walking route Rw from the walking start point Ps of the first pedestrian M1 to the destination point Po based on the measurement result of the LIDAR 31, as shown in FIG. 6, for example.
- the axis extending in the traveling direction of the first pedestrian M1 is defined as the x-axis
- the axis orthogonal to the traveling direction of the first pedestrian M1 is y. It is acquired as a two-dimensional xy coordinate value when the axis is defined.
- the definitions of the x-axis and the y-axis in the following description are the same as in FIG.
- the origin of the x-axis is set to the walking start point Ps of the first pedestrian M1, and the origin of the y-axis is set to a predetermined position on the right side in the traveling direction of the first pedestrian M1. Furthermore, the position of the second pedestrian M2 during the time from the walking start point Ps of the first pedestrian M1 to the destination Po is associated with the walking route Rw of the first pedestrian M1 to obtain the walking route. Acquired by the section 32.
- the walking route acquisition unit 32 acquires the walking route Rw of the first pedestrian M1 while switching the walking pattern of the second pedestrian M2 to the first to seventh patterns shown in FIGS. 7 to 13, respectively.
- the first and second patterns are, as shown in FIGS. 7 and 8, respectively, 10 and 5 second pedestrians M2, some of which pass the first pedestrian M1 and the x-axis. It is a pattern of walking toward the first pedestrian M1 side in parallel.
- the third and fourth patterns respectively include 10 and 5 second pedestrians M2, part of which intersects the first pedestrian M1 and This is a pattern in which the pedestrian M1 walks from the right side to the left side.
- the fifth and sixth patterns are, as shown in FIGS. 11 and 12, respectively, contrary to the third and fourth patterns, 10 and 5 second pedestrians M2, some of which are part of the second pedestrian M2. This is a pattern of walking from the left side to the right side of the first pedestrian M1 while intersecting with the one pedestrian M1.
- the walking route Rw of the first pedestrian M1 is acquired in a state of being associated with the position of the second pedestrian M2, and the acquisition results thereof are stored in the learning data acquisition unit 33. Is output.
- the learning data acquisition unit 33 when the acquisition result of the walking route Rw or the like is input from the walking route acquisition unit 32, based on this, the learning data is acquired/created by the method described below.
- a virtual second pedestrian M2′ (see FIG. 14) corresponding to the above-described second pedestrian M2 and a virtual robot (not shown) corresponding to the robot 2 are created. ..
- the virtual second pedestrian M2′ of the second pedestrian M2 acquired by the walking route acquiring unit 32 is acquired. Move according to position.
- the image of the visual environment in front of the virtual robot is sampled at a predetermined cycle, and based on the sampling result, mask images are sequentially created by the SSD (Single Shot MultiBox Detector) method.
- the SSD Single Shot MultiBox Detector
- FIG. 14 when three virtual second pedestrians M2′ are located in front of the virtual robot under the simulation environment, the three virtual second pedestrians are calculated by the SSD method.
- the mask image shown in FIG. 15 is created by acquiring the position of M2′.
- the positions of the three virtual second pedestrians M2' are displayed as three rectangular boxes B.
- the areas indicated by broken lines of the three boxes B are actually displayed in red, and the other areas indicated by stippling are actually displayed in black.
- the destination point Po at the time of sampling is displayed as a rectangular white box at the upper end of the mask image.
- the destination point Po is set as a value within the range of ⁇ 90 deg to 90 deg with 0 deg as the center position in front of the current self position of the virtual robot as a reference.
- the virtual x-axis velocity v_x' and the virtual y-axis velocity v_y' of the virtual robot at the time of sampling are displayed as two rectangular white boxes at the lower end of this mask image.
- the virtual x-axis velocity v_x' and the virtual y-axis velocity v_y' are velocity components in the x-axis direction and the y-axis direction of the virtual robot, and are the minimum movement velocity v_min (for example, value 0) and the maximum movement velocity of the virtual robot. It is set as a value within the range of v_max.
- the x-axis direction and the y-axis direction of the virtual robot in this case are defined similarly to FIG.
- the moving direction command of the virtual robot at the time of sampling is set as a vector value having three directions of “left direction”, “center direction” and “right direction” as elements. To be done.
- this moving direction command for example, when the virtual robot is moving straight, the value “1" is set in the "center direction”, and the value "0" is set in the other "left direction” and "right direction”.
- the value “1" is set in the "right direction” and the value 0 is set in the other directions.
- the “right direction” is set to a value of 1 when the virtual robot moves in the right direction by a predetermined angle ⁇ or more with respect to the straight direction.
- the “left direction” is set to the value 1, and the other directions are set to the value 0.
- the “left direction” is set to the value 1 when the virtual robot moves in the left direction by a predetermined angle ⁇ or more with respect to the straight ahead direction.
- the learning image data in which the above-described mask image (see FIG. 15) and the movement direction command are linked as one set of data is sequentially created in the above-described predetermined period as the learning data. .. Then, finally, at the timing when a large number of sets (several thousands or more) of learning data are created, these learning data are output to the CNN learning unit 34.
- the learning data acquisition unit 33 may be configured to output the learning data to the CNN learning unit 34 every time the learning data is created in a predetermined cycle.
- CNN learning unit 34 when a large number of sets of learning data are input from the learning data acquisition unit 33, CNN model parameter learning is executed using these learning data. Specifically, the mask image in one set of learning data is input to CNN, and the moving direction command is used as teacher data for the output of CNN at that time.
- the output layer of the CNN is composed of 3 units, and commands (hereinafter referred to as “CNN output commands”) having 3 softmax values from these 3 units as elements are output from the CNN.
- the CNN output command is composed of commands having the same three directions as the movement direction command (“left direction”, “center direction”, and “right direction”).
- the weight function and the bias term of the coupling layer of CNN are calculated by the gradient method using the loss function of the movement direction command and the CNN output command (for example, the mean square sum error). That is, the CNN model parameter learning operation is executed. Then, the learning calculation of the CNN model parameters in the CNN learning unit 34 is completed by executing the above-described learning calculation for the number of sets of learning data (that is, for several thousand times). In the learning device 30, learning of the CNN model parameters is executed as described above.
- the path determining device 1 determines (calculates) a moving speed command v as a path of the robot 2 by the method described below.
- the moving speed command v is the x-axis speed v_x and the y-axis speed of the robot 2.
- the target x-axis velocity v_x_cmd and the target y-axis velocity v_y_cmd, which are the targets of v_y, are elements.
- the route determining device 1 includes a mask image creating unit 50, a moving direction determining unit 51, a provisional moving speed determining unit 52, and a moving speed determining unit 53, and these elements 50 to 53 are Specifically, it is configured by the control device 10.
- the various control processes described below are executed at a predetermined control cycle ⁇ T.
- the mask image creation unit 50 when the image signal from the camera 11 and the measurement signal from the LIDAR 12 are input, a mask image is created by the SSD method described above.
- a box (not shown) of a traffic participant in front is displayed, similar to the box B of the mask image in FIG. 15 described above, and the virtual x-axis speed v_x′ and the virtual y-axis speed v_y′ are displayed.
- the x-axis velocity v_x, the y-axis velocity v_y of the robot 2 and the destination Pobj are displayed.
- the position and size of the traffic participant are determined based on the image signal of the camera 11 and the measurement signal of the LIDAR 12.
- the x-axis velocity v_x and the y-axis velocity v_y of the robot 2 are determined based on the measurement signal of the LIDAR 12 and the detection signal of the acceleration sensor 13. Further, the destination Pobj is determined by the destination signal from the server 5.
- the mask image created as described above is output from the mask image creating unit 50 to the moving direction determining unit 51.
- the moving direction determination unit 51 includes a CNN (not shown) whose model parameters have been learned by the CNN learning unit 34 described above, and uses this CNN to determine the moving direction of the robot 2 as follows.
- the moving direction determination unit 51 when the mask image from the mask image creation unit 50 is input to CNN, the above-mentioned CNN output command is output from CNN. Next, of the three elements (“left direction”, “center direction”, and “right direction”) of the CNN output command, the direction of the element having the maximum value is determined as the moving direction of the robot 2. Then, the movement direction of the robot 2 determined as described above is output from the movement direction determination unit 51 to the provisional movement speed determination unit 52.
- the temporary movement speed determination unit 52 calculates the temporary movement speed command v_cnn based on the movement direction of the robot 2 from the movement direction determination unit 51 and the x-axis speed v_x and the y-axis speed v_y of the robot 2.
- This provisional movement speed command v_cnn has the provisional value v_x_cnn of the x-axis speed and the provisional value v_y_cnn of the y-axis speed of the robot 2 as elements.
- the temporary moving speed command v_cnn of the robot 2 determined as described above is output from the temporary moving speed determining unit 52 to the moving speed determining unit 53.
- the moving speed command v is determined by an algorithm that applies DWA (Dynamic Window Approach) based on the provisional moving speed command v_cnn.
- This moving speed command v has a target x-axis speed v_x_cmd and a target y-axis speed v_y_cmd as elements, and these two speeds v_x_cmd and v_y_cmd are the x-axis speed of the robot 2 and Used as a target value for y-axis speed.
- the objective function G(v) is defined, and the moving speed command v is determined so that the objective function G(v) has the maximum value.
- G(v) ⁇ cnn(v)+ ⁇ dist(v) (1)
- ⁇ and ⁇ in the above equation (1) are predetermined weighting parameters and are determined based on the dynamic characteristics of the robot 2.
- cnn(v) in the above equation (1) is an independent variable that is the deviation between the speed command that has x-axis speed and y-axis speed in the Dynamic Window as an element and the provisional movement speed command v_cnn. The smaller the value, the larger the function value.
- dist(v) in the above equation (1) is the traffic participant closest to the robot 2 when it is assumed that the robot 2 moves at the provisional value v_x_cnn of the x-axis speed and the provisional value v_y_cnn of the y-axis speed.
- LIDAR 12 is determined based on the measurement signal of the LIDAR 12.
- the moving direction determination unit 51 and the provisional movement speed determination unit 52 correspond to the predicted route determination unit, and the provisional movement speed command v_cnn (that is, the provisional value v_x_cnn of the x-axis speed and the provisional value v_y_cnn of the y-axis speed). ) Is equivalent to determining the predicted route. Furthermore, the moving speed determination unit 53 corresponds to the route determination unit, and the provisional value v_x_cnn of the x-axis velocity and the provisional value v_y_cnn of the y-axis velocity correspond to the velocity of the robot.
- the movement speed command v having the target x-axis speed v_x_cmd and the target y-axis speed v_y_cmd as elements is determined.
- This movement control processing is for controlling the two actuators 24 and 25 of the movement mechanism 21 so that the robot 2 moves at the above-described two target velocities v_x_cmd and v_y_cmd, and the controller 10 performs predetermined control. It is executed in the cycle ⁇ T.
- the various data are data of signals input to the control device 10 from the camera 11, the LIDAR 12, the acceleration sensor 13, and the wireless communication device 14 described above.
- the x-axis control input Ux and the y-axis control input Uy are calculated by a predetermined control algorithm according to the target x-axis speed v_x_cmd and the target y-axis speed v_y_cmd (FIG. 17/STEP 4).
- a feedforward control algorithm such as map search or a feedback control algorithm may be used as the predetermined control algorithm.
- the control input signal corresponding to the x-axis control input Ux is output to the first actuator 24, and the control input signal corresponding to the y-axis control input Uy is output to the second actuator 25 (FIG. 17/STEP 5).
- this processing ends.
- the actual x-axis speed v_x and y-axis speed v_y of the robot 2 are controlled to be the target x-axis speed v_x_cmd and the target y-axis speed v_y_cmd.
- the robot 2 moves toward the destination Pobj along the route determined by the target velocities v_x_cmd and v_y_cmd while avoiding the traffic participants in front.
- the CNN output command is output from the CNN by inputting the mask image to the CNN, and the element having the maximum value among the three elements of the CNN output command is output. Is determined as the moving direction of the robot 2.
- the CNN model parameters have been sufficiently learned by the learning device 30 using the mask image and the movement direction command, as described above.
- the mask image and the movement direction command are taken along the walking route Rw after sampling the walking route Rw when the first pedestrian M1 actually walks while avoiding the plurality of second pedestrians M2.
- the image is created based on the viewpoint image of the virtual robot when the virtual robot moves in the virtual space, and the moving direction of the virtual robot. Therefore, by using such a CNN, the moving direction of the robot 2 can be determined so as to avoid the interference between the robot 2 and the traffic participant.
- the provisional moving speed command v_cnn is calculated based on the moving direction of the robot 2 and the x-axis speed v_x and the y-axis speed v_y of the robot 2. Then, using the algorithm to which the DWA is applied, the moving speed command having the target x-axis speed v_x_cmd and the target y-axis speed v_y_cmd as elements so that the objective function G(v) of the above-mentioned formula (1) becomes the maximum value. v is determined. Accordingly, assuming that the robot 2 moves in the moving direction determined by using CNN, the distance to the traffic participant closest to the robot 2 and the moving speed of the robot 2 are as large and balanced as possible. The target x-axis velocity v_x_cmd and the target y-axis velocity v_y_cmd can be determined so as to be ensured.
- the autonomous mobile robot 2 can smoothly reach the destination Poobj while avoiding interference with traffic participants.
- the path of the robot 2 (target x-axis velocity v_x_cmd and target y-axis velocity v_y_cmd) can be determined so as to move. Thereby, it is possible to reduce the occurrence of the state in which the robot 2 interferes with the traffic participants, and it is possible to improve the commercial property.
- DWA has the characteristics that, compared to other methods, the time required to determine the route of the robot 2 can be shortened and the calculation load can be reduced. Therefore, by using such an algorithm to which the DWA is applied, the route of the robot 2 can be determined while shortening the time required for route determination and reducing the calculation load.
- the embodiment is an example in which the robot 2 is used as an autonomous mobile robot, but the robot of the present invention is not limited to this, and may be an autonomous mobile robot.
- a vehicle robot or a bipedal robot may be used.
- the embodiment is an example in which CNN is used as the predetermined prediction algorithm, but the prediction algorithm of the present invention is not limited to this, and may be any one that can determine a predicted route that is a predicted value of the route of the robot. ..
- RNN Recurrent Neural Network
- DQN deep Q-network
- the embodiment is an example in which the moving mechanism 21 including the core body 22 and the plurality of rollers 23 is used as the moving mechanism, but the moving mechanism of the present invention is not limited to this, and the robot is moved in all directions. Anything can be used.
- the moving mechanism a structure in which a sphere and a plurality of rollers are combined and the sphere is rotationally driven by these rollers to move the robot in all directions may be used.
- the embodiment is an example in which the CNN is stored in the E2PROM of the control device 10 of the robot 2, but the CNN is stored in the server 5 side and the calculation of the route determination is performed in the server 5 side. 2 may be configured to be transmitted.
- the embodiment is an example in which the moving speed determination unit 53 calculates the moving speed command v including the x-axis speed v_x and the y-axis speed v_y as the moving speed of the robot 2 by the DWA method.
- the moving speed determination unit 53 may calculate the x-axis speed v_x and the angular speed ⁇ as the moving speed of the robot 2 by the DWA method.
- the walking route acquisition unit 32 uses the first to seventh patterns as the walking pattern of the second pedestrian M2.
- the walking route Rw of the first pedestrian M1 may be acquired using the walking pattern changed to a different one.
- a plurality of second pedestrians M2 may walk along the y-axis line to use a walking pattern that intersects with each other.
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- General Physics & Mathematics (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Manipulator (AREA)
Abstract
人混みなどの交通環境下においても、自律移動型のロボットが交通参加者との干渉を回避しながら目的地まで円滑に移動するように、ロボットの経路を決定できる経路決定装置などを提供する。経路決定装置1は、CNNを用いて、ロボット2と交通参加者との干渉が回避されるように、暫定移動速度指令v_cnnを決定し、ロボット2が現在位置から暫定移動速度指令v_cnnで移動すると想定したときに、ロボット2に最も近い交通参加者との距離dist及びロボット2の暫定移動速度指令v_cnnを独立変数として含む目的関数G(v)が最大値になるように、DWAを用いて、ロボット2の移動速度指令vを決定する。
Description
本発明は、自律移動型のロボットの経路を決定する経路決定装置などに関する。
従来、自律移動型のロボットの経路を決定する経路決定装置として、特許文献1に記載されたものが知られている。この経路決定装置では、歩行者などの交通参加者の速度に基づいて、ロボットが交通参加者に干渉する可能性があると予想される干渉可能性時間が算出され、さらに、交通参加者が所定時間後に移動すると想定される仮想障害物領域が算出される。そして、干渉可能性時間及び仮想障害物領域に基づいて、ロボットの経路が決定される。それにより、ロボットと交通参加者との干渉が回避される。
上記従来の経路決定装置によれば、交通参加者の干渉可能性時間及び仮想障害物領域を用いている関係上、歩行者などの実際の交通参加者が予測不可能な軌跡で移動したときには、ロボットと交通参加者の干渉状態が頻発してしまう。その結果、ロボットの停止状態が頻発してしまい、商品性が低いという問題がある。特に、人混みが存在する交通環境下では、この問題が顕著になる。
本発明は、上記課題を解決するためになされたもので、人混みなどの交通環境下においても、自律移動型のロボットが交通参加者との干渉を回避しながら目的地まで円滑に移動するように、ロボットの経路を決定できる経路決定装置などを提供することを目的とする。
上記目的を達成するために、本発明は、自律移動型のロボットが目的地まで移動するときの経路を、歩行者を含む交通参加者が目的地までの交通環境に存在する条件下で決定する経路決定装置であって、所定の予測アルゴリズムを用いて、ロボットと交通参加者との干渉が回避されるように、ロボットの経路の予測値である予測経路を決定する予測経路決定部と、ロボットが現在位置から予測経路で移動すると想定したときに、ロボットに最も近い交通参加者との距離及びロボットの速度を独立変数として含む目的関数が最大値になるように、所定の制御アルゴリズムを用いて、ロボットの経路を決定する経路決定部と、を備えることを特徴とする。
この経路決定装置によれば、所定の予測アルゴリズムを用いて、ロボットと交通参加者との干渉が回避されるように、ロボットの経路の予測値である予測経路が決定される。そして、ロボットが現在位置から予測経路で移動すると想定したときに、ロボットに最も近い交通参加者との距離及びロボットの速度を独立変数として含む目的関数が最大値になるように、所定の制御アルゴリズムを用いて、ロボットの経路が決定される。このように、ロボットに最も近い交通参加者との距離及びロボットの速度を独立変数として含む目的関数が最大値になるように、ロボットの経路を決定した場合、交通参加者との距離及びロボットの速度が可能な限り大きくかつバランス良く確保しながら、ロボットの経路を決定できることになる。
それにより、人混みなどの、予測経路の誤差が大きくなる交通条件下においても、自律移動型のロボットが交通参加者との干渉を回避しながら目的地まで円滑に移動するように、ロボットの経路を決定することができる。その結果、ロボットの商品性を向上させることができる(なお、本明細書における「ロボットの経路を決定する」ことは、ロボットの移動方向及び移動速度を表す値(例えば、後述する移動速度指令)を所定の制御周期で逐次、決定することを含む。さらに、本明細書における「交通参加者」は、歩行者及び車両などの移動可能対象に加えて、不動の障害物も含む)。
本発明において、所定の制御アルゴリズムは、Dynamic Window Approach を適用したアルゴリズムであることが好ましい。
一般に、Dynamic Window Approach は、他の手法と比べて、ロボットの経路決定に要する時間を短縮できるとともに、演算負荷を低減できるという特性を備えている。したがって、この経路決定装置によれば、Dynamic Window Approach を適用したアルゴリズムを用いることによって、経路決定に要する時間の短縮化と演算負荷の低減化を実現しながら、ロボットの経路を決定することができる。
前述した目的を達成するために、本発明のロボットは、上記の経路決定装置と、経路決定装置によって決定された経路で移動するようにロボットの移動機構を制御する制御部と、を備えることを特徴とする。
このロボットによれば、交通参加者との干渉を回避しながら目的地まで円滑に移動することができる。
前述した目的を達成するために、本発明は、自律移動型のロボットが目的地まで移動するときの経路を、歩行者を含む交通参加者が目的地までの交通環境に存在する条件下で決定する経路決定方法であって、所定の予測アルゴリズムを用いて、ロボットと交通参加者との干渉が回避されるように、ロボットの経路の予測値である予測経路を決定し、
ロボットが現在位置から予測経路で移動すると想定したときに、ロボットに最も近い交通参加者との距離及びロボットの速度を独立変数として含む目的関数が最大値になるように、所定の制御アルゴリズムを用いて、ロボットの経路を決定することを特徴とする。
ロボットが現在位置から予測経路で移動すると想定したときに、ロボットに最も近い交通参加者との距離及びロボットの速度を独立変数として含む目的関数が最大値になるように、所定の制御アルゴリズムを用いて、ロボットの経路を決定することを特徴とする。
以下、図面を参照しながら、本発明の一実施形態に係る経路決定装置について説明する。図1に示すように、本実施形態の経路決定装置1は、倒立振子型のロボット2に適用されたものであり、後述する手法によって、交通参加者の存在確率が高い条件下で、ロボット2の経路を決定するものである。
このロボット2は、自律移動型のものであり、図2に示す案内システム3で用いられる。この案内システム3は、ショッピングモールや空港などにおいて、ロボット2が利用者を先導しながらその目的地(例えば店舗や搭乗ゲート)まで案内する形式のものである。
図2に示すように、案内システム3は、所定の領域内を自律移動する複数のロボット2と、複数のロボット2とは別体に設けられ、利用者の目的地が入力される入力装置4と、ロボット2及び入力装置4と相互に無線通信可能なサーバ5とを備えている。
この入力装置4は、パソコンタイプのものであり、利用者(又は操作者)のマウス及びキーボードの操作によって、利用者の目的地が入力されたときに、それを表す無線信号をサーバ5に送信する。サーバ5は、入力装置4からの無線信号を受信すると、内部の地図データに基づき、利用者の目的地自体又は目的地までの中継地点を目的地Pobjに設定し、それを表す目的地信号をロボット2に送信する。
後述するように、ロボット2内の制御装置10は、サーバ5からの目的地信号を無線通信装置14を介して受信したときには、その目的地信号に含まれる目的地Pobjを読み込み、この目的地Pobjまでの経路を決定する。
次に、ロボット2の機械的な構成について説明する。図1に示すように、ロボット2は、本体20と、本体20の下部に設けられた移動機構21などを備えており、この移動機構21によって路面上を全方位に移動可能に構成されている。
この移動機構21は、具体的には、例えば特開2017-56763号のものと同様に構成されているので、その詳細な説明はここでは省略するが、円環状の芯体22、複数のローラ23、第1アクチュエータ24(図3参照)及び第2アクチュエータ25(図3参照)などを備えている。
複数のローラ23は、芯体22の円周方向(軸心周り方向)に等角度間隔で並ぶように、芯体22に外挿されており、複数のローラ23の各々は、芯体22の軸心周りに、芯体22と一体に回転可能になっている。また、各ローラ23は、各ローラ23の配置位置における芯体22の横断面の中心軸(芯体22の軸心を中心とする円周の接線方向の軸)周りに回転可能になっている。
さらに、第1アクチュエータ24は、電動機で構成されており、後述する制御入力信号が制御装置10から入力されたときに、図示しない駆動機構を介して、芯体22をその軸心周りに回転駆動する。
一方、第2アクチュエータ25も、第1アクチュエータ24と同様に、電動機で構成されており、制御入力信号が制御装置10から入力されたときに、図示しない駆動機構を介して、ローラ23をその軸心周りに回転駆動する。それにより、本体20は、路面上を全方位に移動するように、第1アクチュエータ24及び第2アクチュエータ25によって駆動される。以上の構成により、ロボット2は、路面上を全方位に移動可能になっている。
次に、ロボット2の電気的な構成について説明する。図3に示すように、ロボット2は、制御装置10、カメラ11、LIDAR12、加速度センサ13及び無線通信装置14をさらに備えている。
この制御装置10(制御部)は、CPU、RAM、ROM、E2PROM、I/Oインターフェース及び各種の電気回路(いずれも図示せず)などからなるマイクロコンピュータで構成されている。このE2PROM内には、ロボット2が案内する場所の地図データ及びCNN(Convolutional Neural Network)が記憶されている。この場合、CNNとしては、後述する学習装置30によって、CNNのモデルパラメータすなわち結合層の重み及びバイアス項が十分に学習されたものが記憶されている。
カメラ11は、ロボット2の周辺環境を撮像し、それを表す画像信号を制御装置10に出力する。また、LIDAR12は、レーザ光を用いて、周辺環境内の対象物までの距離などを計測し、それを表す計測信号を制御装置10に出力する。さらに、加速度センサ13は、ロボット2の加速度を検出して、それを表す検出信号を制御装置10に出力する。
制御装置10は、以上のカメラ11の画像信号及びLIDAR12の計測信号を用いて、amlc(adaptive Monte Carlo localization)手法により、ロボット2の自己位置を推定する。また、制御装置10は、LIDAR12の計測信号及び加速度センサ13の検出信号に基づいて、ロボット2の後述するx軸速度v_x及びy軸速度v_yを算出する。
さらに、制御装置10には、無線通信装置14が電気的に接続されており、制御装置10は、この無線通信装置14を介してサーバ5との間で無線通信を実行する。
次に、本実施形態の経路決定装置1の構成及び経路決定方法の原理について説明する。まず、図4に示す学習装置30について説明する。この学習装置30は、後述するCNNのモデルパラメータ(結合層の重み及びバイアス項)を学習するためのものであり、LIDAR31、歩行経路取得部32、学習用データ取得部33及びCNN学習部34を備えている。これらの要素32~34は、具体的には、図示しないコントローラなどによって構成されている。
まず、一般的な歩行者の歩行経路を学習するために、図5に示すように、第1歩行者M1を基準となる歩行者として設定し、この第1歩行者M1が歩行開始地点Ps(図6参照)から目的地点Po(図6参照)まで歩行する場合において、歩行開始時に、その進行方向に複数の第2歩行者M2が不規則な配置で存在する人混みの交通環境下を設定する。
次いで、LIDAR31を用いて、第1歩行者M1が歩行開始地点Psから目的地点Poまで実際に歩行したときの位置の変化と、複数の第2歩行者M2の位置の変化とを計測し、その計測結果を歩行経路取得部32に出力する。
そして、歩行経路取得部32では、LIDAR31の計測結果に基づき、第1歩行者M1の歩行開始地点Psから目的地点Poまでの歩行経路Rwを、例えば図6に示すように逐次、取得して記憶する。同図に示すように、第1歩行者M1の歩行経路Rwは、第1歩行者M1の進行方向に延びる軸をx軸と規定し、第1歩行者M1の進行方向に直交する軸をy軸と規定したときの、2次元のx-y座標値として取得される。なお、以下の説明におけるx軸及びy軸の定義は、図6と同じである。
このx軸の原点は、第1歩行者M1の歩行開始地点Psに設定され、y軸の原点は、第1歩行者M1の進行方向の右側の所定位置に設定される。さらに、第1歩行者M1の歩行開始地点Psから目的地点Poに到達するまでの間における第2歩行者M2の位置が、第1歩行者M1の歩行経路Rwと紐付けた状態で歩行経路取得部32に取得される。
これに加えて、歩行経路取得部32では、第1歩行者M1の歩行経路Rwが、第2歩行者M2の歩行パターンを図7~13にそれぞれ示す第1~第7パターンに切り換えながら取得される。この場合、第1及び第2パターンはそれぞれ、図7及び図8に示すように、10人及び5人の第2歩行者M2が、その一部が第1歩行者M1とすれ違いながらx軸と平行に第1歩行者M1側に向かって歩行するパターンである。
また、第3及び第4パターンはそれぞれ、図9及び図10に示すように、10人及び5人の第2歩行者M2が、その一部が第1歩行者M1と交差しながら、第1歩行者M1の右側から左側に向かって歩行するパターンである。さらに、第5及び第6パターンはそれぞれ、図11及び図12に示すように、第3及び第4パターンとは逆に、10人及び5人の第2歩行者M2が、その一部が第1歩行者M1と交差しながら、第1歩行者M1の左側から右側に向かって歩行するパターンである。
これに加えて、第7パターンは、図13に示すように、10人のうちの5人の第2歩行者M2が、第1歩行者M1の右側から左側に向かって歩行し、残りの5人の第2歩行者M2が第1歩行者M1の左側から右側に向かって歩行するとともに、それらの一部が第1歩行者M1と交差しながら歩行するパターンである。
以上のように、歩行経路取得部32では、第1歩行者M1の歩行経路Rwが第2歩行者M2の位置と紐付けた状態で取得され、それらの取得結果が学習用データ取得部33に出力される。
学習用データ取得部33では、歩行経路Rwなどの取得結果が歩行経路取得部32から入力されると、これに基づき、以下に述べる手法により、学習用データを取得/作成する。まず、gazeboシミュレータなどのシミュレーション環境下で、前述した第2歩行者M2に相当する仮想第2歩行者M2’(図14参照)と、ロボット2に相当する仮想ロボット(図示せず)を作成する。
次いで、仮想ロボットを、前述した第1歩行者M1の歩行経路Rwに追従するように移動させながら、仮想第2歩行者M2’を、歩行経路取得部32で取得された第2歩行者M2の位置に従って移動させる。
その移動中において、仮想ロボットの前方の視覚的環境の画像を所定周期でサンプリングし、そのサンプリング結果に基づいて、SSD(Single Shot MultiBox Detector)手法により、マスク画像を逐次作成する。例えば、図14に示すように、シミュレーション環境下で、3人の仮想第2歩行者M2’が仮想ロボットの前方に位置している場合には、SSD手法により、3人の仮想第2歩行者M2’の位置を取得することにより、図15に示すマスク画像が作成される。
同図に示すように、このマスク画像では、3人の仮想第2歩行者M2’の位置が3つの矩形のボックスBとして表示される。同図において、3つのボックスBの破線で示す領域は実際には赤色で表示され、それ以外の点描で示す領域は実際には黒色で表示される。
これと同時に、マスク画像の上端部には、サンプリング時の目的地点Poが矩形の白色ボックスとして表示される。この目的地点Poは、仮想ロボットの現時点の自己位置を基準としたときの前方の中央位置を0degとして、-90deg~90degの範囲内の値として設定される。
さらに、このマスク画像の下端には、サンプリング時の仮想ロボットの仮想x軸速度v_x’及び仮想y軸速度v_y’が、2つの矩形の白色ボックスとして表示される。これらの仮想x軸速度v_x’及び仮想y軸速度v_y’はそれぞれ、仮想ロボットのx軸方向及びy軸方向の速度成分であり、仮想ロボットの最小移動速度v_min(例えば値0)と最大移動速度v_maxの範囲内の値として設定される。この場合の仮想ロボットのx軸方向及びy軸方向は、前述した図7などと同様に定義される。
これに加えて、学習用データ取得部33では、サンプリング時の仮想ロボットの移動方向指令が、「左方向」、「中央方向」及び「右方向」の3つの方向を要素とするベクトル値として設定される。この移動方向指令の場合、例えば、仮想ロボットが直進しているときには、「中央方向」が値1に設定され、それ以外の「左方向」及び「右方向」が値0に設定される。
また、仮想ロボットが右方向に移動しているときには、「右方向」が値1に設定され、それ以外の方向が値0に設定される。この場合、「右方向」は仮想ロボットが直進方向に対して所定角度θ以上、右側の方向に移動するときに値1に設定される。さらに、仮想ロボットが左方向に移動しているときには、「左方向」が値1に設定され、それ以外の方向が値0に設定される。この場合、「左方向」は仮想ロボットが直進方向に対して所定角度θ以上、左側の方向に移動するときに値1に設定される。
次いで、学習用データ取得部33では、学習用データとして、前述したマスク画像(図15参照)と移動方向指令とを1組のデータとして紐付けしたものが、前述した所定周期で逐次作成される。そして、最終的に、多数組(数千組以上)の学習用データが作成されたタイミングで、これらの学習用データがCNN学習部34に出力される。なお、学習用データ取得部33において、学習用データを所定周期で作成する毎に、この学習用データをCNN学習部34に出力するように構成してもよい。
CNN学習部34では、学習用データ取得部33から多数組の学習用データが入力されると、これらの学習用データを用いて、CNNのモデルパラメータの学習が実行される。具体的には、1組の学習用データにおけるマスク画像をCNNに入力し、そのときのCNNの出力に対して、移動方向指令を教師データとして用いる。
この場合、CNNの出力層は、3ユニットで構成されており、これらの3ユニットからの3つのsoftmax値を要素とする指令(以下「CNN出力指令」という)がCNNから出力される。このCNN出力指令は、移動方向指令と同じ3つの方向(「左方向」、「中央方向」及び「右方向」)を要素とする指令で構成されている。
次いで、移動方向指令とCNN出力指令の損失関数(例えば平均2乗和誤差)を用い、勾配法により、CNNの結合層の重み及びバイアス項を演算する。すなわち、CNNのモデルパラメータの学習演算を実行する。そして、以上の学習演算を学習用データの組数分(すなわち数千回分)、実行することにより、CNN学習部34におけるCNNのモデルパラメータの学習演算が終了する。この学習装置30では、以上のように、CNNのモデルパラメータの学習が実行される。
次に、図16を参照しながら、本実施形態の経路決定装置1などの構成について説明する。経路決定装置1は、以下に述べる手法によって、ロボット2の経路としての移動速度指令vを決定(算出)するものであり、この移動速度指令vは、ロボット2のx軸速度v_x及びy軸速度v_yの目標となる目標x軸速度v_x_cmd及び目標y軸速度v_y_cmdを要素とするものである。
同図に示すように、経路決定装置1は、マスク画像作成部50、移動方向決定部51、暫定移動速度決定部52及び移動速度決定部53を備えており、これらの要素50~53は、具体的には、制御装置10によって構成されている。なお、以下に述べる各種の制御処理は所定の制御周期ΔTで実行されるものとする。
まず、マスク画像作成部50について説明する。このマスク画像作成部50では、カメラ11からの画像信号及びLIDAR12からの計測信号が入力されると、前述したSSD手法により、マスク画像が作成される。
このマスク画像内には、前述した図15のマスク画像のボックスBと同様に、前方の交通参加者のボックス(図示せず)が表示され、仮想x軸速度v_x’、仮想y軸速度v_y’及び目的地点Poに代えて、ロボット2のx軸速度v_x、y軸速度v_y及び目的地Pobj(いずれも図示せず)が表示される。
この場合、交通参加者の位置及びサイズは、カメラ11の画像信号及びLIDAR12の計測信号に基づいて決定される。また、ロボット2のx軸速度v_x及びy軸速度v_yは、LIDAR12の計測信号及び加速度センサ13の検出信号に基づいて決定される。さらに、目的地Pobjは、サーバ5からの目的地信号によって決定される。以上のように作成されたマスク画像は、マスク画像作成部50から移動方向決定部51に出力される。
移動方向決定部51は、前述したCNN学習部34でモデルパラメータが学習されたCNN(図示せず)を備えており、このCNNを用いて、ロボット2の移動方向を以下のように決定する。
まず、移動方向決定部51では、マスク画像作成部50からのマスク画像がCNNに入力されると、前述したCNN出力指令がCNNから出力される。次いで、CNN出力指令の3つの要素(「左方向」、「中央方向」及び「右方向」)のうち、最大値の要素の方向がロボット2の移動方向として決定される。そして、以上のように決定されたロボット2の移動方向は、移動方向決定部51から暫定移動速度決定部52に出力される。
この暫定移動速度決定部52では、移動方向決定部51からのロボット2の移動方向と、ロボット2のx軸速度v_x及びy軸速度v_yとに基づき、暫定移動速度指令v_cnnを算出する。この暫定移動速度指令v_cnnは、ロボット2のx軸速度の暫定値v_x_cnn及びy軸速度の暫定値v_y_cnnを要素とするものである。次いで、以上のように決定されたロボット2の暫定移動速度指令v_cnnは、暫定移動速度決定部52から移動速度決定部53に出力される。
この移動速度決定部53では、暫定移動速度指令v_cnnに基づき、DWA(Dynamic Window Approach)を適用したアルゴリズムにより、移動速度指令vが決定される。この移動速度指令vは、目標x軸速度v_x_cmd及び目標y軸速度v_y_cmdを要素とするものであり、これらの2つの速度v_x_cmd,v_y_cmdは、後述する移動制御処理において、ロボット2のx軸速度及びy軸速度の目標値として用いられる。
具体的には、下式(1)に示すように、目的関数G(v)を定義し、この目的関数G(v)が最大値になるように、移動速度指令vが決定される。
G(v)= α・cnn(v)+ β・dist(v) ……(1)
G(v)= α・cnn(v)+ β・dist(v) ……(1)
上式(1)のα,βは、所定の重みパラメータであり、ロボット2の動特性に基づいて決定される。また、上式(1)のcnn(v)は、Dynamic Window 内のx軸速度及びy軸速度を要素とする速度指令と、暫定移動速度指令v_cnnとの偏差を独立変数とし、この独立変数が小さいほど、より大きな値を示す関数値である。
さらに、上式(1)のdist(v)は、ロボット2がx軸速度の暫定値v_x_cnn及びy軸速度の暫定値v_y_cnnで移動すると想定したときの、ロボット2に最も近接する交通参加者との距離を表す値であり、LIDAR12の計測信号に基づいて決定される。
なお、本実施形態では、移動方向決定部51及び暫定移動速度決定部52が予測経路決定部に相当し、暫定移動速度指令v_cnn(すなわちx軸速度の暫定値v_x_cnn及びy軸速度の暫定値v_y_cnn)を決定することが予測経路を決定することに相当する。さらに、移動速度決定部53が経路決定部に相当し、x軸速度の暫定値v_x_cnn及びy軸速度の暫定値v_y_cnnがロボットの速度に相当する。
本実施形態の経路決定装置1では、以上のように、目標x軸速度v_x_cmd及び目標y軸速度v_y_cmdを要素とする移動速度指令vが決定される。
次に、図17を参照しながら、移動制御処理について説明する。この移動制御処理は、ロボット2が上述した2つの目標速度v_x_cmd,v_y_cmdで移動するように、移動機構21の2つのアクチュエータ24,25を制御するためのものであり、制御装置10によって所定の制御周期ΔTで実行される。
同図に示すように、まず、各種データを読み込む(図17/STEP1)。この各種データは、前述したカメラ11、LIDAR12、加速度センサ13及び無線通信装置14から制御装置10に入力された信号のデータである。
次いで、前述した目的地信号に含まれる目的地Pobjを読込済みであるか否かを判定する(図17/STEP2)。この判定が否定であるとき(図17/STEP2…NO)、すなわち目的地信号をサーバ5から受信してないときには、そのまま本処理を終了する。
一方、この判定が肯定であるとき(図17/STEP2…YES)には、前述した図16の手法により、目標x軸速度v_x_cmd及び目標y軸速度v_y_cmdを算出する(図17/STEP3)。
次いで、目標x軸速度v_x_cmd及び目標y軸速度v_y_cmdに応じて、所定の制御アルゴリズムにより、x軸制御入力Ux及びy軸制御入力Uyを算出する(図17/STEP4)。この場合、所定の制御アルゴリズムとしては、マップ検索などのフィードフォワード制御アルゴリズムや、フィードバック制御アルゴリズムを用いればよい。
次に、x軸制御入力Ux対応する制御入力信号を第1アクチュエータ24に出力するとともに、y軸制御入力Uyに対応する制御入力信号を第2アクチュエータ25に出力する(図17/STEP5)。その後、本処理を終了する。それにより、ロボット2の実際のx軸速度v_x及びy軸速度v_yが、目標x軸速度v_x_cmd及び目標y軸速度v_y_cmdになるよう制御される。その結果、ロボット2は、これらの目標速度v_x_cmd,v_y_cmdで決まる経路に沿って、前方の交通参加者をよけながら目的地Pobjに向かって移動することになる。
以上のように、本実施形態の経路決定装置1によれば、マスク画像をCNNに入力することにより、CNN出力指令がCNNから出力され、CNN出力指令の3つの要素のうちの最大値の要素の方向がロボット2の移動方向として決定される。この場合、CNNのモデルパラメータは、前述したように、学習装置30において、マスク画像及び移動方向指令を用いて十分に学習されたものである。
また、これらのマスク画像及び移動方向指令は、第1歩行者M1が実際に複数の第2歩行者M2をよけながら歩行したときの歩行経路Rwをサンプリングした後、この歩行経路Rwに沿って、仮想ロボットが仮想空間で移動したときの仮想ロボットの視点の画像と、仮想ロボットの移動方向に基づいて作成されたものである。したがって、そのようなCNNを用いることにより、ロボット2と交通参加者との干渉が回避されるように、ロボット2の移動方向を決定することができる。
さらに、このロボット2の移動方向と、ロボット2のx軸速度v_x及びy軸速度v_yとに基づき、暫定移動速度指令v_cnnが算出される。そして、DWAを適用したアルゴリズムを用いて、前述した式(1)の目的関数G(v)が最大値になるように、目標x軸速度v_x_cmd及び目標y軸速度v_y_cmdを要素とする移動速度指令vが決定される。それにより、CNNを用いて決定された移動方向にロボット2が移動すると想定した場合において、ロボット2に最も近い交通参加者との距離と、ロボット2の移動速度が、可能な限り大きくかつバランス良く確保されるように、目標x軸速度v_x_cmd及び目標y軸速度v_y_cmdを決定することができる。
その結果、人混みなどの、CNNを用いて決定された移動方向の誤差が大きくなる交通条件下においても、自律移動型のロボット2が交通参加者との干渉を回避しながら目的地Pobjまで円滑に移動するように、ロボット2の経路(目標x軸速度v_x_cmd及び目標y軸速度v_y_cmd)を決定することができる。それにより、ロボット2が交通参加者に干渉する状態の発生を低下させることができ、商品性を向上させることができる。
また、DWAは、他の手法と比べて、ロボット2の経路決定に要する時間を短縮できるとともに、演算負荷を低減できるという特性を備えている。したがって、そのようなDWAを適用したアルゴリズムを用いることによって、経路決定に要する時間の短縮化と演算負荷の低減化を実現しながら、ロボット2の経路を決定することができる。
なお、実施形態は、自律移動型のロボットとして、ロボット2を用いた例であるが、本発明のロボットは、これに限らず、自律移動型のものであればよい。例えば、車両型のロボットや、2足歩行型のロボットを用いてもよい。
また、実施形態は、所定の予測アルゴリズムとしてCNNを用いた例であるが、本発明の予測アルゴリズムは、これに限らず、ロボットの経路の予測値である予測経路を決定できるものであればよい。例えば、所定の予測アルゴリズムとして、RNN(Recurrent Neural Network)及びDQN(deep Q-network)などを用いてもよい。
さらに、実施形態は、移動機構として、芯体22及び複数のローラ23を備えた移動機構21を用いた例であるが、本発明の移動機構は、これに限らず、ロボットを全方位に移動させることが可能なものであればよい。例えば、移動機構として、球体と複数のローラを組み合わせ、これらのローラによって球体を回転駆動することにより、ロボットを全方位に移動させる構成のものを用いてもよい。
また、実施形態は、CNNをロボット2の制御装置10のE2PROM内に記憶させた例であるが、CNNをサーバ5側に記憶させ、経路決定の演算をサーバ5側で実施し、これをロボット2に送信するように構成してもよい。
一方、実施形態は、移動速度決定部53において、ロボット2の移動速度として、x軸速度v_x及びy軸速度v_yを要素とする移動速度指令vをDWA手法により算出した例であるが、これに代えて、移動速度決定部53において、ロボット2の移動速度として、x軸速度v_x及び角速度ωをDWA手法により算出してもよい。
また、実施形態は、歩行経路取得部32において、第2歩行者M2の歩行パターンとして、第1~第7パターンを用いた例であるが、第2歩行者M2の移動方向及び数をこれらと異なるものに変更した歩行パターンを用いて、第1歩行者M1の歩行経路Rwを取得してよい。例えば、複数人の第2歩行者M2と複数人の第2歩行者M2とが、互いに斜めに交差するように歩行する歩行パターンや、複数人の第2歩行者M2がx軸線に沿って歩行し、複数人の第2歩行者M2がy軸線に沿って歩行することで、互いに交差する歩行パターンなどを用いてもよい。
1 経路決定装置
2 ロボット
10 制御装置(制御部)
21 移動機構
51 移動方向決定部(予測経路決定部)
52 暫定移動速度決定部(予測経路決定部)
53 移動速度決定部(経路決定部)
Pobj 目的地
v_x_cnn x軸速度の暫定値(予測経路、ロボットの速度)
v_y_cnn y軸速度の暫定値(予測経路、ロボットの速度)
dist 最も近い交通参加者との距離を表す値
G 目的関数
2 ロボット
10 制御装置(制御部)
21 移動機構
51 移動方向決定部(予測経路決定部)
52 暫定移動速度決定部(予測経路決定部)
53 移動速度決定部(経路決定部)
Pobj 目的地
v_x_cnn x軸速度の暫定値(予測経路、ロボットの速度)
v_y_cnn y軸速度の暫定値(予測経路、ロボットの速度)
dist 最も近い交通参加者との距離を表す値
G 目的関数
Claims (6)
- 自律移動型のロボットが目的地まで移動するときの経路を、歩行者を含む交通参加者が当該目的地までの交通環境に存在する条件下で決定する経路決定装置であって、
所定の予測アルゴリズムを用いて、前記ロボットと前記交通参加者との干渉が回避されるように、前記ロボットの経路の予測値である予測経路を決定する予測経路決定部と、
前記ロボットが現在位置から前記予測経路で移動すると想定したときに、前記ロボットに最も近い前記交通参加者との距離及び当該ロボットの速度を独立変数として含む目的関数が最大値になるように、所定の制御アルゴリズムを用いて、前記ロボットの前記経路を決定する経路決定部と、
を備えることを特徴とする経路決定装置。 - 請求項1に記載の経路決定装置において、
前記所定の制御アルゴリズムは、Dynamic Window Approach を適用したアルゴリズムであることを特徴とする経路決定装置。 - 請求項1に記載の経路決定装置と、
当該経路決定装置によって決定された経路で移動するように前記ロボットの移動機構を制御する制御部と、
を備えることを特徴とするロボット。 - 請求項2に記載の経路決定装置と、
当該経路決定装置によって決定された経路で移動するように前記ロボットの移動機構を制御する制御部と、
を備えることを特徴とするロボット。 - 自律移動型のロボットが目的地まで移動するときの経路を、歩行者を含む交通参加者が当該目的地までの交通環境に存在する条件下で決定する経路決定方法であって、
所定の予測アルゴリズムを用いて、前記ロボットと前記交通参加者との干渉が回避されるように、前記ロボットの経路の予測値である予測経路を決定し、
前記ロボットが現在位置から前記予測経路で移動すると想定したときに、前記ロボットに最も近い前記交通参加者との距離及び当該ロボットの速度を独立変数として含む目的関数が最大値になるように、所定の制御アルゴリズムを用いて、前記ロボットの前記経路を決定することを特徴とする経路決定方法。 - 請求項5に記載の経路決定方法において、
前記所定の制御アルゴリズムは、Dynamic Window Approach を適用したアルゴリズムであることを特徴とする経路決定方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE112019006440.1T DE112019006440T5 (de) | 2018-12-27 | 2019-08-07 | Pfad-Bestimmungsvorrichtung, Roboter und Pfad-Bestimmungsverfahren |
JP2020562334A JP7258046B2 (ja) | 2018-12-27 | 2019-08-07 | 経路決定装置、ロボット及び経路決定方法 |
US17/417,585 US11986964B2 (en) | 2018-12-27 | 2019-08-07 | Path determination device, robot, and path determination method |
CN201980081928.8A CN113196195A (zh) | 2018-12-27 | 2019-08-07 | 路径决定装置、机器人及路径决定方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018-245254 | 2018-12-27 | ||
JP2018245254 | 2018-12-27 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020136977A1 true WO2020136977A1 (ja) | 2020-07-02 |
Family
ID=71127824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2019/031194 WO2020136977A1 (ja) | 2018-12-27 | 2019-08-07 | 経路決定装置、ロボット及び経路決定方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11986964B2 (ja) |
JP (1) | JP7258046B2 (ja) |
CN (1) | CN113196195A (ja) |
DE (1) | DE112019006440T5 (ja) |
WO (1) | WO2020136977A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112327885A (zh) * | 2020-12-01 | 2021-02-05 | 大连海事大学 | 一种无人船自适应全局-局部混合路径规划的方法 |
CN113341991A (zh) * | 2021-06-18 | 2021-09-03 | 重庆大学 | 一种基于动态窗口和冗余节点过滤的路径优化方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008065755A (ja) * | 2006-09-11 | 2008-03-21 | Hitachi Ltd | 移動装置 |
WO2013171905A1 (ja) * | 2012-05-18 | 2013-11-21 | 株式会社日立製作所 | 自律移動装置、制御装置および自律移動方法 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4576445B2 (ja) | 2007-04-12 | 2010-11-10 | パナソニック株式会社 | 自律移動型装置および自律移動型装置用プログラム |
JP4717105B2 (ja) * | 2008-08-29 | 2011-07-06 | 株式会社日立製作所 | 自律移動ロボット装置及びかかる装置における飛び出し衝突回避方法 |
JP6417305B2 (ja) | 2015-09-14 | 2018-11-07 | 本田技研工業株式会社 | 摩擦式走行装置および乗物 |
JP6569470B2 (ja) | 2015-10-28 | 2019-09-04 | 株式会社デンソーアイティーラボラトリ | 車両用制御装置 |
CN107643752B (zh) | 2017-05-09 | 2020-12-08 | 清研华宇智能机器人(天津)有限责任公司 | 基于行人轨迹预测的全向移动机器人路径规划算法 |
JP6901555B2 (ja) | 2017-06-02 | 2021-07-14 | 本田技研工業株式会社 | 自動運転車の制御のための車両制御装置及び方法 |
CN107272680B (zh) | 2017-06-16 | 2019-10-18 | 华南理工大学 | 一种基于ros机器人操作系统的机器人自动跟随方法 |
CN107168342B (zh) | 2017-07-12 | 2020-04-07 | 哈尔滨工大智慧工厂有限公司 | 一种用于机器人路径规划的行人轨迹预测方法 |
DE102017120218A1 (de) * | 2017-09-01 | 2019-03-07 | RobArt GmbH | Bewegungsplanung für autonome mobile roboter |
US11014238B2 (en) * | 2017-11-27 | 2021-05-25 | Amazon Technologies, Inc. | Dynamic navigation of autonomous vehicle with safety infrastructure |
CN108255182B (zh) | 2018-01-30 | 2021-05-11 | 上海交通大学 | 一种基于深度强化学习的服务机器人行人感知避障方法 |
-
2019
- 2019-08-07 US US17/417,585 patent/US11986964B2/en active Active
- 2019-08-07 DE DE112019006440.1T patent/DE112019006440T5/de active Pending
- 2019-08-07 WO PCT/JP2019/031194 patent/WO2020136977A1/ja active Application Filing
- 2019-08-07 JP JP2020562334A patent/JP7258046B2/ja active Active
- 2019-08-07 CN CN201980081928.8A patent/CN113196195A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008065755A (ja) * | 2006-09-11 | 2008-03-21 | Hitachi Ltd | 移動装置 |
WO2013171905A1 (ja) * | 2012-05-18 | 2013-11-21 | 株式会社日立製作所 | 自律移動装置、制御装置および自律移動方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112327885A (zh) * | 2020-12-01 | 2021-02-05 | 大连海事大学 | 一种无人船自适应全局-局部混合路径规划的方法 |
CN112327885B (zh) * | 2020-12-01 | 2024-04-09 | 大连海事大学 | 一种无人船自适应全局-局部混合路径规划的方法 |
CN113341991A (zh) * | 2021-06-18 | 2021-09-03 | 重庆大学 | 一种基于动态窗口和冗余节点过滤的路径优化方法 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2020136977A1 (ja) | 2021-09-27 |
DE112019006440T5 (de) | 2021-09-16 |
CN113196195A (zh) | 2021-07-30 |
US11986964B2 (en) | 2024-05-21 |
JP7258046B2 (ja) | 2023-04-14 |
US20220055215A1 (en) | 2022-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7130062B2 (ja) | 経路決定方法 | |
JP7469850B2 (ja) | 経路決定装置、ロボット及び経路決定方法 | |
Sprunk et al. | Online generation of kinodynamic trajectories for non-circular omnidirectional robots | |
CN103324196A (zh) | 基于模糊逻辑的多机器人路径规划与协调避碰方法 | |
KR101196374B1 (ko) | 이동 로봇의 경로 생성 시스템 | |
Zhu et al. | A hierarchical deep reinforcement learning framework with high efficiency and generalization for fast and safe navigation | |
WO2020136977A1 (ja) | 経路決定装置、ロボット及び経路決定方法 | |
US11467592B2 (en) | Route determination method | |
JP7250573B2 (ja) | 倒立振子型ロボット | |
JP7250572B2 (ja) | 倒立振子型ロボット | |
Tao et al. | Fast and robust training and deployment of deep reinforcement learning based navigation policy | |
Kivrak et al. | A multilevel mapping based pedestrian model for social robot navigation tasks in unknown human environments | |
US12020509B2 (en) | Model parameter learning method and movement mode parameter determination method | |
Afonso et al. | Autonomous Navigation of Wheelchairs in Indoor Environments using Deep Reinforcement Learning and Computer Vision | |
Zheng et al. | Complex-shaped object path planning algorithm with kinematics and terminal pose constraints |
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: 19905269 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2020562334 Country of ref document: JP Kind code of ref document: A |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19905269 Country of ref document: EP Kind code of ref document: A1 |