WO2014178273A1 - 自律移動体の移動制御装置、自律移動体及び移動制御方法 - Google Patents

自律移動体の移動制御装置、自律移動体及び移動制御方法 Download PDF

Info

Publication number
WO2014178273A1
WO2014178273A1 PCT/JP2014/060500 JP2014060500W WO2014178273A1 WO 2014178273 A1 WO2014178273 A1 WO 2014178273A1 JP 2014060500 W JP2014060500 W JP 2014060500W WO 2014178273 A1 WO2014178273 A1 WO 2014178273A1
Authority
WO
WIPO (PCT)
Prior art keywords
travel
map
unit
predetermined
local map
Prior art date
Application number
PCT/JP2014/060500
Other languages
English (en)
French (fr)
Inventor
中野剛
田中昌司
Original Assignee
村田機械株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 村田機械株式会社 filed Critical 村田機械株式会社
Publication of WO2014178273A1 publication Critical patent/WO2014178273A1/ja

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/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/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • G05D1/024Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors in combination with a laser
    • 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/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device

Definitions

  • the present invention relates to a movement control device, an autonomous moving body, and a movement control method for an autonomous moving body having an environment map creation function, a route planning function, and an autonomous traveling function.
  • an autonomous mobile body that moves autonomously in the surrounding environment.
  • an environment map that represents an area where an object (hereinafter referred to as an obstacle) in the moving space exists and an area where the object does not exist is required.
  • Various methods for acquiring such an environmental map have been devised.
  • SLAM Simultaneous Localization and Mapping
  • a mobile robot that uses SLAM to generate an environmental map using terrain data obtained as a result of distance measurement by a laser range finder (LRF: Laser Range Finder) or a camera has been proposed (for example, Patent Document 1). .
  • the movement amount of the autonomous mobile body is cumulatively added to estimate the self position.
  • the estimated self-position varies greatly depending on the wear of the wheels.
  • wheel slips or sensor measurement errors are accumulated, there is a problem that a self-position estimated by the autonomous mobile body is shifted, and autonomous travel according to the travel schedule cannot be performed.
  • An object of the present invention is to enable an autonomous mobile body to reliably estimate its own position and appropriately travel according to a travel schedule.
  • the movement control device is used for an autonomous mobile body.
  • the autonomous mobile body includes a main body, a detection unit that is mounted on the main body and detects an object around the main body, and a traveling unit that has a plurality of actuators to which control amounts are input and moves the main body.
  • the movement control device for an autonomous mobile body includes a travel control unit, an obstacle information acquisition unit, a map creation unit, and a travel command generation unit. The travel control unit generates a control amount to be input to the actuator based on the travel command.
  • the obstacle information acquisition unit acquires the position information of the obstacle in the peripheral area of the main body from the detection unit for each predetermined control cycle.
  • the map creation unit creates a local map indicating the presence or absence of an obstacle in the peripheral area of the main body based on the obstacle position information.
  • the travel command generating unit outputs a forced stop travel command to the travel control unit when the local map satisfies a predetermined condition.
  • the travel command generation unit When a predetermined condition that makes it difficult to estimate the position of the vehicle with the local map created by the map creation unit is satisfied, the travel command generation unit generates a forced stop travel command and travels by the travel unit. Stop. In this way, even in a place where it is difficult to estimate the self-position, it is possible to prevent a situation where the vehicle travels at a position different from the predetermined travel schedule due to wheel wear, slip, sensor measurement error, etc. it can.
  • the travel command generation unit assumes that the local map satisfies a predetermined condition You may judge.
  • the estimation of the self-position on the environment map depends only on the amount of movement of the traveling unit. Therefore, in such a case, there is a possibility that the autonomous mobile body is traveling at a position different from the predetermined travel schedule due to wheel wear and slip, sensor measurement error, and the like.
  • the autonomous mobile body according to the present invention can prevent traveling in a position different from the travel schedule by outputting a forced stop travel command based on the above determination.
  • the travel command generation unit assumes that the local map satisfies a predetermined condition You may judge. For example, when parallel wall surfaces continue along the travel route or when circular wall surfaces continue, local maps having the same shape are continued based on the obstacle information. Even in such a case, the autonomous mobile body according to the present invention can prevent traveling in a position different from the predetermined travel schedule by outputting a forced stop travel command based on the above determination. it can.
  • the autonomous mobile body may further include a storage unit that stores an environment map of the surrounding environment and a self-position estimation unit that estimates a self-position on the environment map.
  • the travel command generation unit compares the environment map around the self-location estimated by the self-location estimation unit with the local map, and the state that differs by more than a predetermined ratio is a predetermined travel distance or a predetermined When the running time continues, it is determined that a predetermined condition is satisfied.
  • the local map created by the map creation unit is compared with the environmental map located in the vicinity of the self-location. be able to.
  • the travel command generation unit may determine that the local map satisfies a predetermined condition.
  • the autonomous mobile body may travel at a position different from the predetermined travel schedule. The reason is as follows. First, when the position where there are almost no obstacles in the surrounding area or where there are many positions having obstacles of similar shape is set as the travel start position, the autonomous mobile body selects a travel start position different from the travel schedule. there's a possibility that.
  • the autonomous mobile body manually trains from a travel start position to a travel end position by an operator's manual operation while creating a travel schedule including a set of passing point data and passing point data at the passing time, and a traveling schedule. While reproducing, it may be possible to execute a reproduction travel mode in which the vehicle travels autonomously from the travel start position to the travel end position. Further, the travel command generation unit may determine whether or not the local map satisfies a predetermined condition in the teaching travel mode. In this case, it is possible to create an appropriate travel schedule by eliminating passing point data that makes it difficult to estimate the self position in the teaching travel mode.
  • the travel command generation unit may determine whether or not the local map satisfies a predetermined condition in the reproduction travel mode. In this case, in the reproduction travel mode, if the travel start position is greatly deviated from the travel schedule, a forced stop can be executed to further prompt the operator to reset the travel start position.
  • An autonomous mobile body includes a main body, a detection unit that is mounted on the main body and detects an object around the main body, and a traveling unit that has a plurality of actuators to which control amounts are input and moves the main body. And the above movement control device.
  • the movement control method is applied to an autonomous mobile body.
  • the autonomous mobile body includes a main body, a detection unit that is mounted on the main body and detects an object around the main body, and a traveling unit that has a plurality of actuators to which control amounts are input and moves the main body.
  • the movement control method for an autonomous mobile body includes the following steps. ⁇ Step of generating a control amount to be input to the actuator based on the travel command ⁇ Step of obtaining position information of obstacles existing around every predetermined control cycle ⁇ Based on the position information of obstacles, A step of creating a local map indicating the presence or absence of an obstacle in the peripheral region of the main body. A step of outputting a forcible stop travel command to the travel control unit when the local map satisfies a predetermined condition.
  • the configuration of the present invention it is possible to provide an autonomous mobile body that can reliably estimate its own position and can appropriately travel according to the travel schedule.
  • the block diagram which shows schematic structure of the autonomous mobile body by one Embodiment.
  • the control flowchart which shows the outline of control operation
  • Explanatory drawing which shows an example of the scanning range of a laser range sensor.
  • Explanatory drawing which shows the other example of the scanning range of a laser range sensor.
  • the table which shows an example of the positional information on the obstruction detected by the laser range sensor.
  • Explanatory drawing which shows an example of posterior probability distribution.
  • Explanatory drawing which shows an example of prior probability distribution.
  • the control flowchart of likelihood calculation processing Explanatory drawing which shows an example of likelihood distribution obtained by likelihood calculation processing.
  • Explanatory drawing which shows an example of posterior probability distribution obtained by the posterior probability calculation process.
  • Explanatory drawing which shows the conceptual structure of a global map update process.
  • the control flowchart of the autonomous mobile body in reproduction travel mode Explanatory drawing of the update process of a dynamic environment map.
  • FIG. 1 is a block diagram showing a schematic configuration of an autonomous mobile body according to an embodiment of the present invention.
  • the autonomous mobile body 1 includes a control unit 11, a distance measuring sensor 31, an operation unit 32, a display unit 33, and a traveling unit 25.
  • the ranging sensor 31 is a sensor that detects an obstacle on the front side in the traveling direction of the autonomous mobile body 1.
  • the distance measuring sensor 31 for example, irradiates a target with laser light pulsed by a laser oscillator, and receives reflected light reflected from the target with a laser receiver, thereby calculating a distance to the target.
  • a range finder LRF: Laser Range Finder
  • the distance measuring sensor 31 can operate the laser beam in a fan shape at a predetermined angle using a rotating mirror. Such a distance measuring sensor 31 can also be arranged behind the autonomous mobile body 1.
  • the operation unit 32 is a user interface that is operated by an operator when the autonomous mobile body 1 travels by manual operation, and includes a throttle that receives a travel speed instruction, a handle that receives a travel direction instruction, and the like.
  • the display unit 33 displays information related to the current driving situation and various other information, and includes a liquid crystal display, an LED lamp, and the like.
  • the traveling unit 25 includes a plurality of traveling wheels (not shown) for traveling on the traveling route, and includes a plurality of traveling motors (not illustrated) as actuators for driving the traveling wheels.
  • the control unit 11 is a computer including a CPU, a RAM, and a ROM, and performs running control by executing a predetermined program.
  • the control unit 11 includes an obstacle information acquisition unit 21, a map creation unit 22, a travel command generation unit 23, and a travel control unit 24.
  • the obstacle information acquisition unit 21 acquires position information of obstacles existing around the main body 1a (see FIGS. 5 and 6) for each predetermined control cycle.
  • the map creation unit 22 creates a local map indicating the presence / absence of an obstacle in a peripheral region at a predetermined distance from the main body 1a based on the obstacle position information.
  • the travel control unit 24 generates a control amount to be input to the actuator based on the travel command.
  • the travel command generation unit 23 outputs a travel command for forced stop to the travel control unit 24 when the local map satisfies a predetermined condition.
  • FIG. 2 is a control block diagram of the cleaning robot in which the first embodiment of the present invention is employed.
  • This cleaning robot 40 executes the teaching travel mode and the reproduction travel mode.
  • a travel schedule consisting of a collection of passage point data and passage point data at the passage time and environmental map restoration data are created while manually traveling from the travel start position to the travel end position by an operator's manual operation.
  • the reproduction travel mode the vehicle travels autonomously from the travel start position to the travel end position while reproducing the travel schedule.
  • the cleaning robot 40 includes the autonomous mobile body 1, a throttle 42, and a cleaning unit user interface 43.
  • the cleaning robot 40 further includes a cleaning unit (not shown).
  • the cleaning unit is provided at the lower part of the autonomous mobile body 1 and is a device for cleaning the floor surface along with the movement of the autonomous mobile body 1.
  • the throttle 42 corresponds to the operation unit 32 of FIG. 1 and accepts an instruction input by an operator's manual operation.
  • the throttle 42 can be independently provided with a left and right throttle grip for receiving a control instruction input according to a rotation angle around the axis.
  • the throttle 42 may be a combination of a throttle grip that receives the forward speed and a handle that receives an instruction of the steering direction.
  • the throttle 42 can be a combination of a throttle lever and other input means.
  • the cleaning unit user interface 43 receives an instruction for a cleaning operation by a cleaning unit (not shown) from an operator, and can be configured by a combination of operation buttons, a touch panel, and other operation switches, for example.
  • the autonomous mobile body 1 includes a control board 51, a breaker 52, a front laser range sensor 53, a rear laser range sensor 54, a bumper switch 55, an emergency stop switch 56, a speaker 57, and a traveling unit 25.
  • the breaker 52 is a main power switch, and turns on / off the supply of power supply voltage from a battery (not shown) to each part of the autonomous mobile body 1 based on the operation of the operator.
  • the front laser range sensor 53 detects position information of an obstacle positioned in front of the autonomous mobile body 1, and reflects the laser beam irradiated in the horizontal direction within a predetermined angle range and reflected from the obstacle. The light is received and the distance from the main body 1a to the obstacle is measured.
  • the rear laser range sensor 54 detects positional information of an obstacle located behind the autonomous mobile body 1, and reflects the laser beam irradiated from the obstacle in the horizontal direction within a predetermined angle range. The light is received and the distance from the main body 1a to the obstacle is measured.
  • the bumper switch 55 can be a pressure-sensitive switch attached to the outer periphery of the vehicle body of the autonomous mobile body 1, detects contact with an obstacle, and outputs a detection signal.
  • the emergency stop switch 56 receives an instruction to urgently stop the operation of the autonomous mobile body 1, and is a switch that can be operated by an operator.
  • the speaker 57 notifies the operator of various information during operation of the autonomous mobile body 1 by sound.
  • the control board 51 is a circuit board on which a CPU, a ROM, and a RAM are mounted, and includes a control unit 11, a teaching data creation unit 26, a SLAM processing unit 63, a nonvolatile memory 64, an obstacle information acquisition unit 21, a storage unit 27, and a travel control. Part 24 is included.
  • the storage unit 27 stores various data, and stores the travel schedule and environment map restoration data created in the teaching travel mode in association with the time or the identifier associated with the time.
  • the control unit 11 is a microprocessor mounted on the control board 51, and controls the operation of each unit of the autonomous mobile body 1 by executing a predetermined program.
  • the teaching data creation unit 26 creates a travel schedule that is a set of passage time data corresponding to the passage time and the passage time in the teaching travel mode.
  • the SLAM processing unit 63 is a functional block that executes SLAM (Simultaneous Localization and Mapping) processing that simultaneously performs self-position estimation and environment map creation, and includes a map creation unit 22, a self-position estimation unit 72, and a map matching unit 73. .
  • SLAM Simultaneous Localization and Mapping
  • the map creation unit 22 stores the position information of the obstacle acquired by the obstacle information acquisition unit 21 in the storage unit 27 in association with the acquired time as environmental map restoration data. Further, the map creation unit 22 creates a local map (local map) in the peripheral area of the main body 1a based on the obstacle position information acquired by the obstacle information acquisition unit 21. Furthermore, the map creation unit 22 creates a global map (environment map) for self-position estimation based on the created local map. Further, in the reproduction travel mode, the map creation unit 22 reads the environmental map restoration data corresponding to the time before the current passing point from the storage unit, and updates the global map.
  • the self-position estimation unit 72 estimates the current self-position by adding the movement amount from the previous self-position to the previous self-position.
  • the map matching unit 73 compares the local map created based on the position information of the obstacle located around the main body 1a with the updated global map, and the self-position estimated by the self-position estimation unit 72 Correct.
  • the nonvolatile memory 64 stores a boot program for the control unit 11, a program related to traveling control, various parameters, and the like.
  • the obstacle information acquisition unit 21 acquires position information of obstacles located around the main body 1a based on detection signals of the front laser range sensor 53 and the rear laser range sensor 54.
  • the storage unit 27 stores the travel schedule created by the teaching data creation unit 26 and the environment map restoration data created by the map creation unit 22 or an identifier associated with time.
  • the travel command generation unit 23 outputs a travel command to the travel control unit 24.
  • the travel command generation unit 23 outputs a travel command to the travel control unit 24 based on an instruction input from an operator input via the throttle 42 in the teaching travel mode.
  • the travel command generation unit 23 generates a travel command based on the self-position on the global map estimated by the SLAM processing unit 63, the updated global map, and the travel schedule in the reproduction travel mode, and the travel control unit 24 Output to. Furthermore, the travel command generation unit 23 determines whether or not the position information of the obstacle on the local map created by the map creation unit 22 satisfies a predetermined condition, and determines that the predetermined condition is satisfied. Then, a forcible stop travel command is output to the travel control unit 24.
  • the traveling control unit (motion controller) 24 generates a control amount of the actuator of the traveling unit 25 based on the input traveling command, and inputs it to the traveling unit 25.
  • the traveling control unit 24 includes a calculation unit 81, a determination unit 82, and a movement control unit 83.
  • the determination unit 82 interprets the input travel command.
  • the computing unit 81 calculates the control amount of the actuator of the traveling unit 25 based on the traveling command interpreted by the determining unit 82.
  • the movement control unit 83 outputs the control amount calculated by the calculation unit 81 to the traveling unit 25.
  • the traveling unit 25 includes a pair of motors 93 and 94 corresponding to two traveling wheels (not shown), and includes encoders 95 and 96 that detect the respective rotational positions, and motor drive units 91 and 92. ing.
  • the motor drive unit (motor driver) 91 performs feedback control of the motor 93 based on the control amount input from the travel control unit 24 and the rotational position of the motor 93 detected by the encoder 95.
  • the motor drive unit 92 performs feedback control of the motor 94 based on the control amount input from the travel control unit 24 and the rotational position of the motor 94 detected by the encoder 96.
  • the travel command generation unit 23, the teaching data creation unit 26, the obstacle information acquisition unit 21, the travel control unit 24, and the SLAM processing unit 63 may be functional blocks that are realized by the control unit 11 executing programs. It is also possible to configure each with an independent integrated circuit.
  • FIG. 3 is a control flowchart showing an outline of the control operation of the autonomous mobile body.
  • the control unit 11 in FIG. 2 executes a predetermined program
  • each function of the travel command generation unit 23, the teaching data creation unit 26, the SLAM processing unit 63, the obstacle information acquisition unit 21, and the travel control unit 24 is performed.
  • a description will be given assuming that the block is realized.
  • the order of the steps can be changed as necessary, and the order is not limited.
  • each step may be performed simultaneously and may be performed partially overlapping.
  • step S31 the control unit 11 determines whether or not mode selection has been performed by the operator. Specifically, when an instruction input is received by an operation of the operation unit 32 by the operator, or when an instruction input signal is received from the remote controller, the control unit 11 proceeds to step S32.
  • step S32 the control unit 11 determines whether or not the selected mode is the teaching travel mode. When it is determined that the instruction input for selecting the teaching travel mode has been received, the control unit 11 proceeds to step S33, and otherwise proceeds to step S34. In step S33, the control unit 11 executes the teaching travel mode, and then proceeds to step S36. In step S34, the control unit 11 determines whether or not the selected mode is the reproduction travel mode. If the control unit 11 determines that an instruction input for selecting the reproduction travel mode has been received, the control unit 11 proceeds to step S35.
  • step S35 the control unit 11 executes the reproduction travel mode, and then proceeds to step S36.
  • step S ⁇ b> 36 the control unit 11 determines whether an end instruction has been accepted or whether the taught travel schedule has been completed. Specifically, the control unit 11 receives an instruction input indicating that the process is ended by an operation of the operation unit 32 by the operator, receives an instruction input signal indicating that the process is ended by the remote controller, or teach travel If it is determined that the travel schedule created by the mode has been completed, the process is terminated; otherwise, the process proceeds to step S31.
  • FIG. 4 is a control flowchart of the autonomous mobile body in the teaching travel mode.
  • the control unit 11 performs initial setting. Specifically, the control unit 11 acquires position information of an obstacle located around the main body 1a based on the detection signals of the front laser range sensor 53 and the rear laser range sensor 54, and based on this, the control unit 11 Create a local map around.
  • the control unit 11 determines that the self position (x1, y1) at time (t1) created based on the position information of the obstacle is the origin of the absolute coordinate system ( Alternatively, the local map is replaced with a global map so that the predetermined coordinates are obtained.
  • FIG. 5 is an explanatory diagram illustrating an example of a scanning range of the laser range sensor.
  • the autonomous mobile body 1 has a front laser range sensor 53 attached to the front end thereof, scans the pulsed laser beam in a fan shape with a rotating mirror, and reflects it from an obstacle positioned in front of the autonomous mobile body 1. Receive reflected light.
  • the front laser range sensor 53 transmits laser light to the scanning region 101 of about 180 degrees forward.
  • the front laser range sensor 53 receives the reflected light reflected from the obstacle at a predetermined period, compares the transmitted pulse of the transmitted laser light with the received pulse of the received reflected light, and detects the distance to the obstacle. .
  • a rear laser range sensor 54 is attached to the autonomous mobile body 1 at the rear end. Similar to the front laser range sensor 53, the rear laser range sensor 54 scans the pulsed laser beam in a fan shape with a rotating mirror, and as a result, reflects from an obstacle located behind the autonomous mobile body 1. Receive light. In the example shown in FIG. 5, the rear laser range sensor 54 transmits laser light to the scanning region 103 that is about 180 degrees rearward. However, the autonomous mobile body 1 is provided with a mask area 105 that does not detect obstacles in the teaching travel mode described later, and detects position information of obstacles located in the first scanning area 115 and the second scanning area 117. . Note that the mask region 150 is provided corresponding to an operator located behind the autonomous mobile body 1.
  • FIG. 6 is an explanatory diagram showing another example of the scanning range of the laser range sensor.
  • the front laser range sensor 53 and the rear laser range sensor 54 scan the laser beam at an angle of about 180 degrees, whereas in the example shown in FIG. The difference is that the laser beam is scanned at an angle of.
  • the scanning region 101 by the front laser range sensor 53 is an angle range of 240 degrees forward.
  • the scanning area 103 by the rear laser range sensor 54 has an angle range of 240 degrees behind, and detects position information of obstacles located in the first scanning area 115 and the second scanning area 117 excluding the mask area 105.
  • FIG. 7 is a table showing an example of position information of an obstacle detected by the laser range sensor.
  • the front laser range sensor 53 and the rear laser range sensor 54 irradiate a predetermined scanning region with laser light, further receive reflected light from an obstacle, and then irradiate the transmitted pulse of laser light and the received reflected light.
  • the distance R to the obstacle is calculated as an output value based on the received pulse.
  • the front laser range sensor 53 and the rear laser range sensor 54 also output the sensor angle N when the distance R to the obstacle is obtained.
  • the control unit 11 acquires the outputs of the front laser range sensor 53 and the rear laser range sensor 54 for each predetermined angle, and based on this, a position information table in which the sensor angle N and the distance R to the obstacle are associated with each other. create.
  • the position information table shown in FIG. 7 is an obstacle position information table obtained by obtaining sensor outputs every 0.72 degrees.
  • the control unit 11 executes a local map creation process using the sensor coordinate system. Specifically, the control unit 11 detects the sensor based on the obstacle position information table (for example, the obstacle position information table shown in FIG. 7) acquired by the front laser range sensor 53 and the rear laser range sensor 54. Create a local map, which is an environmental map in the vicinity of its own position in the central coordinate system.
  • the obstacle position information table for example, the obstacle position information table shown in FIG. 7
  • the control unit 11 divides the scanning areas 101 and 103 scanned by the front laser range sensor 53 and the rear laser range sensor 54 into a grid having a predetermined area, Based on the object position information table, the obstacle existence probability in each grid is calculated.
  • FIG. 8 is an explanatory diagram of a local map in a coordinate system centered on a sensor.
  • the control unit 11 uses the sensor center of the front laser range sensor 53 or the rear laser range sensor 54 as the origin 132, and the obstacle existence probability with respect to the grid on the scanning line 131 corresponding to the sensor angle N of the obstacle position information table. To decide.
  • the obstacle existence probability of the grid where the obstacle exists is set to “1.0”
  • the obstacle existence probability of the grid where it is unknown whether the obstacle exists is set to “0”
  • the control unit 11 sets a grid on the scanning line 131 where the distance r from the origin 132 coincides with the distance R to the obstacle as the detection grid 133, and sets the obstacle existence probability of the grid to “1.0”. To do.
  • the control unit 11 determines that there is no obstacle on the grid on the scanning line 131 and whose distance r from the origin 132 is less than the distance R to the obstacle.
  • the control unit 11 determines that it is unknown whether or not there is an obstacle in the grid on the scanning line 131 where the distance r from the origin 132 is further than the distance R to the obstacle. Thus, the obstacle existence probability of the unknown grid 139 is set to “0”.
  • the detection grid 107 having an obstacle existence probability of “1.0” around the front laser range sensor 53 and the rear laser range sensor 54, and the obstacle existence probability A local map based on the sensor coordinate system is created, including the intermediate grid 109 with “ ⁇ 1.0 to 0” and the unknown grid 111 with the obstacle existence probability “0”.
  • the grid located in the mask area 105 of the rear laser range sensor 54 is set to “0” as the obstruction existence probability as the unknown grid 113.
  • the detection grid 107 exists linearly in front of the autonomous mobile body 1, and therefore there is a wall surface or a large obstacle that constitutes the travel route. Can do.
  • the obstacle existence probability of each grid located around the front laser range sensor 53 and the rear laser range sensor 54 is calculated, and this is calculated as the sensor coordinates. Output as a local map of the system.
  • step S41 the control unit 11 determines whether or not the travel start position is appropriate. Specifically, the local map created based on the obstacle position information acquired by the obstacle information acquisition unit 21 has a position where there are almost no obstacles around the main body 1a, or a simple shape is continuous. If it is a position, the control unit 11 determines that the local map satisfies a predetermined condition.
  • FIG. 9 is an explanatory diagram of a travel route. As shown in FIG. 9, it is assumed that the autonomous mobile body 1 travels in an annular travel route 901, and arbitrary passing points in the travel schedule are defined as a first passing point 911 to a fifth passing point 915. At each of the first passing point 911 to the fifth passing point 915, the map creating unit 22 creates local maps 921 to 925 of the surrounding area based on the position information of the obstacles.
  • the local map 923 in the peripheral area of the main body 1a does not include obstacle information. Therefore, the obstacle existence probability of each grid of the local map 923 is “ ⁇ 1.0 to 0”.
  • FIG. 9 there are a plurality of passing points where a local map having an obstacle existence probability of “ ⁇ 1.0 to 0” for each grid is created in the vicinity of the third passing point 913 on the travel route 901. Accordingly, when such a third passing point 913 is selected as the travel start position, it is impossible to determine whether or not the travel start position matches the travel start position of the travel schedule in the reproduction travel mode. Further, in the reproduction travel mode, even if the travel start position can be coincident with the third passing point 913 by accident, the travel direction (posture ⁇ ) cannot be specified. Difficult to do.
  • the local map 922 in the peripheral area of the main body 1a has an obstacle presence probability of the grid at positions corresponding to the parallel wall surfaces on both the left and right sides. Is “1.0”, and the obstacle existence probability of the grid located between them is “ ⁇ 1.0 to 0”.
  • a simple shape in which the parallel wall surfaces are present on the left and right sides is continuous before and after the second passing point 912 in the traveling direction, and similar in the vicinity of the second passing point 912.
  • there is a point in the travel route 901 having the same shape as the local map even at a position away from the second passing point 912.
  • the local map 924 at the fourth passing point 914 is a similar local map. Therefore, when such a second passing point 912 is selected as the travel start position, it becomes impossible to determine whether or not the travel start position matches the travel start position of the travel schedule in the reproduction travel mode.
  • Step S41 determines that the local map satisfies the predetermined condition (No in Step S41), and proceeds to Step S42. If not (Yes in Step S41), the control unit 11 proceeds to Step S43.
  • step S ⁇ b> 42 the control unit 11 forcibly stops traveling in the traveling unit 25.
  • the travel command generation unit 23 generates a forced stop travel command and outputs it to the travel control unit 24.
  • the travel control unit 24 transmits a control signal for stopping the motors 93 and 94 of the travel unit 25 based on the forced stop travel command. Thereafter, the control unit 11 ends the process.
  • the travel command generating unit 23 When a predetermined condition that makes it difficult to estimate the self position is satisfied by the local map created by the map creating unit 22 as described above, the travel command generating unit 23 generates a forced stop travel command. Then, the traveling is stopped by the traveling unit 25. In this way, even in a place where it is difficult to estimate the self-position, it is possible to prevent a situation where the vehicle travels at a position different from the predetermined travel schedule due to wheel wear, slip, sensor measurement error, etc. it can.
  • step S43 the control unit 11 creates a control amount of the actuator of the traveling unit 25 based on the traveling command input by the operator, and outputs it to the traveling unit 25.
  • a travel speed input by an operator operating the throttle 42 and an instruction input related to steering are received, and travel control in the travel route is performed.
  • the instruction input by the operator can also receive an instruction input signal by radio from the remote controller.
  • step S44 the control unit 11 executes a data measurement process. Specifically, the control unit 11 irradiates the laser beam with the front laser range sensor 53 and the rear laser range sensor 54, receives the reflected light reflected from the obstacle, and has an obstacle related to the distance and direction of the obstacle. Get material information. Moreover, the control part 11 acquires the information regarding the movement amount in the fixed time of the autonomous mobile body 1 further. Specifically, the control unit 11 acquires information on the rotational positions of the corresponding motors 93 and 94 from the encoders 95 and 96 of the traveling unit 25, and calculates the movement amount within a predetermined time.
  • the amount of movement within a certain period of time includes the amount of movement from the two-dimensional coordinates (x (t-1), y (t-1)) at the previous measurement time (t-1) of the autonomous mobile body 1 and the traveling direction. It can be expressed as a movement amount (dx, dy, d ⁇ ) having a change amount.
  • step S45 the control unit 11 executes a local map creation process using the sensor coordinate system. Specifically, based on the obstacle position information table acquired by the front laser range sensor 53 and the rear laser range sensor 54 (for example, the obstacle position information table shown in FIG. 7), a coordinate system centered on the sensor is used. A predetermined range located around the main body 1a is divided into grids of a predetermined size, and a local map in which the calculated obstacle existence probability is associated with each grid is created.
  • step S46 the control unit 11 determines whether or not the created local map satisfies a predetermined condition. Specifically, when the ratio of obstacles present in the local map created by the map creation unit 22 is less than or equal to a predetermined value, or the obstacles included in the local map are simple shapes Therefore, the control unit 11 determines that the local map satisfies the predetermined condition, and proceeds to step S47. In addition, when there is a global map stored in advance in the storage unit 27, the global map located in the vicinity of the self position is compared with the created local map, and the obstacle existence probability in each corresponding grid is large. Even if they are different, the control unit 11 determines that the local map satisfies the predetermined condition, and proceeds to step S47.
  • step S47 the control unit 11 determines whether or not the state where the created local map satisfies a predetermined condition continues for a predetermined travel distance or continues for a predetermined time. Specifically, for example, when the vehicle is passing in the vicinity of the third passing point 913 in FIG. 9, the state in which the ratio of obstacles in the local map is equal to or less than a predetermined value continuously for a predetermined distance or a predetermined time. Arise. Therefore, in such a case, the control unit 11 determines that an accurate self-position on the global map cannot be specified (Yes in Step S47), and proceeds to Step S48. Further, for example, when the vehicle is passing near the second passing point in FIG.
  • Step S47 determines that an accurate self-position on the global map cannot be specified (Yes in Step S47), and proceeds to Step S48.
  • the travel command generation unit 23 determines that the local map is It is determined that a predetermined condition is satisfied. In general, when there are almost no obstacles around the main body, the estimation of the self-position on the environment map depends only on the amount of movement of the traveling unit.
  • the autonomous mobile body 1 can prevent traveling in a position different from the travel schedule by outputting a forced stop travel command based on the above determination.
  • the control unit 11 compares the global map stored in the storage unit 27 with the local map created by the map creation unit 22 and determines that a greatly different state continues for a predetermined distance or a predetermined time. In such a case (Yes in step S47), the process proceeds to step S48.
  • step S47 when the control unit 11 determines that the state in which the local map satisfies the predetermined condition is not continuous for a predetermined distance or for a predetermined time (No in step S47), the control unit 11 proceeds to step S49.
  • step S ⁇ b> 48 the control unit 11 forcibly stops traveling in the traveling unit 25. Specifically, the control unit 11 causes the travel command generation unit 23 to generate a forced stop travel command and causes the travel control unit 24 to output the forced stop travel command. Thereafter, the control unit 11 ends the process.
  • step S49 the control unit 11 estimates the self position on the global map. Specifically, the self-position estimating unit 72 adds the movement amount (dx, dy, d ⁇ ) between time (t ⁇ 1) and time (t) to the self-position at time (t ⁇ 1) to obtain the time ( Estimated as the self-position of t). Further, the control unit 11 assumes a three-dimensional grid space (x, y, ⁇ ) having two-dimensional coordinates (x, y) and a traveling direction ( ⁇ ) as parameters of the self-position, and each grid before and after the movement. Map matching is performed by calculating the probability distribution of the self-position.
  • step S101 the control unit 11 executes a prior probability calculation process. Using the time (t) that is the current time, the control unit 11 uses the posterior probability distribution at time (t ⁇ 1) and the amount of movement (dx, dy, d ⁇ ) between time (t ⁇ 1) and time (t). ) To calculate the prior probability distribution of the self-position at time (t).
  • FIG. 11 is an explanatory diagram illustrating an example of the posterior probability distribution
  • FIG. 12 is an explanatory diagram illustrating an example of the prior probability distribution.
  • the control unit 11 adds the movement amount (dx, dy, d ⁇ ) between time (t ⁇ 1) and time (t) to the posterior probability distribution at time (t ⁇ 1) shown in FIG. Shift.
  • the control unit 11 further obtains a prior probability distribution at time (t) as shown in FIG. 12 by performing a convolution operation on the normal distribution.
  • the control unit 11 executes such a prior probability calculation process for each grid in the three-dimensional grid space (x, y, ⁇ ), thereby taking into account wheel slips and the like, while taking into account wheel slips and the like.
  • the probability distribution of the self position is updated by adding the movement amounts (dx, dy, d ⁇ ) acquired from (1).
  • step S102 the control unit 11 executes a likelihood calculation process.
  • FIG. 13 is a control flowchart of likelihood calculation processing.
  • the control unit 11 extracts temporary self-position coordinates. Specifically, the control unit 11 extracts one coordinate that exceeds the threshold from the prior probabilities at the time (t) calculated by the prior probability distribution process, and uses this as a temporary self-position coordinate. The control unit 11 calculates the likelihood in the extracted temporary self-position coordinates based on the prior probability distribution at time (t), the local map, and the global map being created.
  • step S132 the control unit 11 performs a coordinate conversion process. Specifically, the control unit 11 converts a local map based on the sensor coordinate system into a local map based on the temporary self-position coordinates.
  • the control unit 11 uses the temporary self-position coordinates extracted based on the prior probability distribution as (x, y, ⁇ ), the coordinates of each grid of the local map by the sensor coordinate system as (lx, ly), and absolute coordinates.
  • the coordinates (gx, gy) of each grid of the local map of the system are calculated by Equation 1.
  • step S133 the control unit 11 executes map matching processing.
  • the control unit 11 performs map matching processing between the global map being created and the local map of the absolute coordinate system, and calculates the obstacle existence probability of each grid on the local map of the absolute coordinate system based on the map matching process.
  • the control unit 11 sets the coordinates of the i-th grid to (gx_occupy (i), gy_occupy (i)) when N grids having an obstacle existence probability “1.0” exist in the local map of the absolute coordinate system.
  • the score s indicating the degree of coincidence is calculated by the following formula 2 with the obstacle existence probability at the coordinates (gx_occupy (i), gy_occupy (i)) on the global map as GMAP (gx_occupy (i), gy_occupy (i)) To do.
  • the control unit 11 calculates a score s for each of a plurality of temporary self-positions, and sets it as the likelihood distribution of the self-position.
  • FIG. 14 is an explanatory diagram illustrating an example of a likelihood distribution obtained by the likelihood calculation process.
  • step S103 the control unit 11 executes a posteriori probability calculation process. Specifically, the control unit 11 multiplies the prior probability distribution at the time (t) by the likelihood distribution at the time (t) to each grid of the local map in the absolute coordinate system, thereby obtaining the time map at the time (t). Calculate the posterior probability.
  • FIG. 15 is an explanatory diagram showing an example of the posterior probability distribution obtained by the posterior probability calculation process.
  • FIG. 15 shows a posterior probability distribution obtained by multiplying the prior probability distribution at time (t) shown in FIG. 11 by the likelihood distribution at time (t) shown in FIG.
  • the control unit 11 can execute the posterior probability calculation process for a plurality of temporary self-positions, and can set the one having the maximum posterior probability as the self-position.
  • the difference in prior probability can be reflected in the posterior probability with respect to the temporary self-position having the same likelihood value, and further, the front laser range sensor 53, the rear laser Based on the output signals of the range sensor 54 and the encoders 95 and 96 of the traveling unit 25, the self-position can be estimated by dead-reckoning. Further, since the a posteriori probability at time (t ⁇ 1) is used when the prior probability calculation at time (t) is performed, slip and wear of wheels (not shown) in the traveling unit 25, the front laser range sensor 53, disturbance factors such as noise of the rear laser range sensor 54 can be prevented, that is, the self-position can be accurately estimated.
  • step S50 the control unit 11 uses the obstacle information acquisition unit 21 to acquire position information of obstacles located around the current position on the global map.
  • step S ⁇ b> 51 the control unit 11 creates environmental map restoration data by associating the position information of the obstacle acquired by the obstacle information acquisition unit 21 with the time, and stores the data in the storage unit 27.
  • the environmental map restoration data described in the storage unit 27 divides the periphery of the self-location on the global map into unit grids of a predetermined area, and further associates obstacle existence probabilities with the respective grids. It is possible to associate the position information with the time (t) at which the position information is acquired.
  • the step S51 can be omitted.
  • step S52 the control unit 11 executes a global map update process. Specifically, the control unit 11 adds the local map of the absolute coordinate system in which the coordinate transformation is performed based on the self-position estimated by the self-position estimation process to the global map at time (t ⁇ 1). A global map at time (t) is created.
  • FIG. 16 is an explanatory diagram showing a conceptual configuration of the global map update process.
  • a 4 ⁇ 4 grid near the self-position is targeted, (a) is a global map at time (t ⁇ 1), and (b) is a local coordinate system local at time (t).
  • the map, (c), shows the global map at the updated time (t).
  • obstacle existence probabilities are stored in the respective grids. As described above, the obstacle existence probability of the grid that is estimated to have an obstacle is “1.0”, and the obstacle existence probability of the grid that is estimated to be no obstacle is “ ⁇ 1”. .0 to 0 ”, the obstacle existence probability of the grid where the existence of the obstacle is unknown is set to“ 0 ”.
  • the control unit 11 converts each grid (FIG. 16B) of the local map converted into the absolute coordinate system based on the self position estimated by the self position estimation process to each grid of the global map.
  • the obstacle existence probability of each grid is added.
  • the control unit 11 performs a truncation calculation to calculate “1.0”. ”,“ ⁇ 1.0 ”.
  • the obstacle existence probability of the grid that is determined to be repeatedly present is close to “1.0”
  • the obstacle existence probability of the grid that is determined to be the non-repetitive obstacle is “ ⁇ 1”. .0 ".
  • the control unit 11 updates the global map by calculating the obstacle existence probability of each grid of the global map at time (t) shown in FIG.
  • the global map at time (t) includes a range necessary for the control unit 11 to execute the self-position estimation process at least at the next time (t + 1), and is temporarily stored in the storage unit 27. .
  • the obstacle existence probability of each grid of the global map is updated by adding the obstacle existence probability of each corresponding grid of the local map of the absolute coordinate system, so that the wheel slip or sensor It is possible to minimize the influence of noise based on the measurement error.
  • the control unit 11 can connect the local maps in the travel route in the teaching travel mode, create an overall global map, and store the global map in the storage unit 27. In that case, in order to solve the circular route problem, it is preferable to divide the map into partial maps and to select and set connection points of the partial maps.
  • step S51 when the environmental map restoration data corresponding to the passage time is created and stored in the storage unit 27, the global map in the vicinity of the passing point is left in the storage unit 27, and the information of the global map after passing is stored. It is also possible to delete. In this case, it is not necessary to consider the problem that the circular route does not close in the environment map.
  • step S53 the control unit 11 creates a travel schedule by the teaching data creation unit 26 and stores the travel schedule in the storage unit 27.
  • the passing point data (x, y, y) including the coordinates (x, y) on the global map of the autonomous mobile body 1, the posture ( ⁇ ) indicating the traveling direction of the autonomous mobile body 1, and the time (t). ⁇ , t) is stored in the storage unit 27.
  • step S54 the control unit 11 determines whether an end instruction has been received. Specifically, the control unit 11 performs an end process when an instruction input to end the process is received by an operation of the operation unit 32 by the operator or when an instruction input signal to end the process is received from the remote controller. Is terminated, otherwise the process proceeds to step S43.
  • FIG. 17 is a control flowchart of the autonomous mobile body in the reproduction travel mode.
  • the control unit 11 executes data measurement processing. Specifically, the control unit 11 receives the reflected light reflected from the obstacle by irradiating the laser beam with the front laser range sensor 53 and the rear laser range sensor 54, and thereby the obstacle related to the distance and direction of the obstacle. Get material information.
  • the data measurement process here is the same as the data measurement process in the teaching travel mode, and detailed description thereof is omitted.
  • step S172 the control unit 11 executes a local map creation process using the sensor coordinate system. Specifically, based on the obstacle position information table acquired by the front laser range sensor 53 and the rear laser range sensor 54 (for example, the obstacle position information table shown in FIG. 7), a coordinate system centered on the sensor is used. A local map in which the obstacle existence probability is made to correspond to each grid in the vicinity of the self-location is created.
  • step S173 the control unit 11 determines whether or not the local map created by the map creation unit 22 satisfies a predetermined condition. Specifically, when the ratio of obstacles present in the local map created by the map creation unit 22 is less than or equal to a predetermined value, or the obstacles included in the local map are simple shapes Therefore, the control unit 11 determines that the local map satisfies the predetermined condition, and proceeds to step S174. In addition, when the global map stored in the vicinity of the self position among the global maps stored in the storage unit 27 is compared with the created local map, the obstacle existence probability in each corresponding grid is greatly different. In addition, the control unit 11 determines that the local map satisfies the predetermined condition, and proceeds to step S174.
  • step S174 the control unit 11 determines whether or not the state where the created local map satisfies a predetermined condition is continuous for a predetermined travel distance or continuous for a predetermined time. Specifically, for example, when the vehicle is passing in the vicinity of the third passing point 913 in FIG. 9, the state in which the ratio of obstacles in the local map is equal to or less than a predetermined value continuously for a predetermined distance or a predetermined time. Arise. Therefore, in such a case, the control unit 11 determines that an accurate self-position on the global map cannot be specified (Yes in Step S174), and proceeds to Step S175. Further, for example, when the vehicle is passing near the second passing point in FIG.
  • Step S174 determines that an accurate self-position on the global map cannot be specified (Yes in Step S174), and proceeds to Step S175. Further, the control unit 11 compares the global map stored in the storage unit 27 with the local map created by the map creation unit 22 and determines that a greatly different state continues for a predetermined distance or a predetermined time. In the case, the process proceeds to step S175. For example, when the layout in the travel route has changed significantly from the time when the global map is created, the control unit 11 determines that an accurate self-position on the global map cannot be specified, and proceeds to step S175. . In step S174, when the control unit 11 determines that the state in which the local map satisfies the predetermined condition is not continuous for a predetermined distance or for a predetermined time (No in step S174), the control unit 11 proceeds to step S176.
  • step S175 the control unit 11 forcibly stops traveling in the traveling unit 25. Specifically, the control unit 11 causes the travel command generation unit 23 to generate a forced stop travel command and causes the travel control unit 24 to output the forced stop travel command. Thereafter, the control unit 11 ends the process.
  • step S176 the control unit 11 estimates its own position on the global map. Specifically, the self-position estimating unit 72 adds the movement amount (dx, dy, d ⁇ ) between time (t ⁇ 1) and time (t) to the self-position at time (t ⁇ 1) to obtain the time ( Estimated as the self-position of t). Further, the control unit 11 assumes a three-dimensional grid space (x, y, ⁇ ) having two-dimensional coordinates (x, y) and a traveling direction ( ⁇ ) as parameters of the self-position, and each grid before and after the movement. Map matching is performed by calculating the probability distribution of the self-position.
  • step S177 the control unit 11 compares the global map corresponding to the estimated self-location with the local map created from the location information of the obstacle acquired by the obstacle information acquisition unit 21, and sets the current self-location. Estimate the time in the corresponding travel schedule. At this time, the control unit 11 can use a global map stored in the storage unit 27 in advance or a global map created in the teaching travel mode and stored in the storage unit 27. In addition, when the environmental map restoration data is stored in the storage unit 27 in the teaching travel mode, the control unit 11 restores the global map in the vicinity of the own position using the environmental map restoration data, You can also compare with a local map.
  • step S ⁇ b> 178 the control unit 11 reads from the storage unit 27 the passing point data corresponding to the estimated time in the travel schedule stored in the storage unit 27.
  • step S179 the control unit 11 executes a global map update process. Specifically, the control unit 11 adds the local map of the absolute coordinate system obtained by performing coordinate transformation with the self-position estimated by the self-position estimation process to the global map at time (t ⁇ 1), and Update the global map at (t).
  • the obstacle existence probability of each grid of the global map is updated by adding the obstacle existence probability of each grid corresponding to the local map in the absolute coordinate system, so that wheel slip and wear The influence of noise based on the measurement error of the sensor can be reduced as much as possible.
  • the control unit 11 leaves the global map in the vicinity of the passing point in the storage unit 27 when the environmental map restoration data corresponding to the passage time is created and stored in the storage unit 27. It is also possible to delete global map information.
  • step 180 the control unit 11 creates a control amount of the actuator of the traveling unit 25 and outputs it to the traveling unit 25. Specifically, the control unit 11 determines the control amount of the actuator based on the self-position on the global map and the passing point data read from the storage unit 27 so as to follow the travel schedule. Based on the travel command, the travel unit 25 is input.
  • step S181 the control unit 11 determines whether or not to end the reproduction travel mode. Specifically, when the final stop point data in the travel schedule stored in the storage unit 27 is reached, when the emergency stop switch 56 is operated by the operator, the control unit 11 uses the bumper switch 55 to obstruct the obstacle. When the obstacle position information detected by the obstacle information acquisition unit 21 is close to a predetermined distance or less, the control unit 11 determines to end the reproduction travel mode. When the control unit 11 determines not to end the reproduction travel mode, the control unit 11 proceeds to step S181.
  • step S41 when the travel start position is inappropriate (No in step S41), the travel command generation unit 23 generates a forced stop travel command. Thus, traveling by the traveling unit 25 is stopped (step S42). Therefore, in the subsequent reproduction travel mode, it is possible to avoid a situation in which the travel start position cannot be specified and travel is impossible. Further, in both the teaching traveling mode (FIG. 4) and the reproduction traveling mode (FIG. 17), even when shapes that are difficult to estimate the self-position continue (Yes in step S47 in the teaching traveling mode, the reproducing traveling mode).
  • step S174 the travel command generating unit 23 generates a forced stop travel command to stop the travel by the travel unit 25 (step S48 in the teaching travel mode, in the reproduction travel mode) Is step S175).
  • step S48 in the teaching travel mode, in the reproduction travel mode
  • step S175 the travel command generating unit 23 generates a forced stop travel command to stop the travel by the travel unit 25 (step S48 in the teaching travel mode, in the reproduction travel mode) Is step S175).
  • the autonomous mobile body 1 (an example of an autonomous mobile body) includes a travel unit 25 (an example of a travel unit), a travel control unit 24 (an example of a travel control unit), and an obstacle information acquisition unit 21 (an obstacle information acquisition unit).
  • An example a map creation unit 22 (an example of a map creation unit), and a travel command generation unit 23 (an example of a travel command generation unit).
  • the traveling unit 25 includes a plurality of motors 93 and 94 (an example of an actuator) to which control amounts are input.
  • the traveling control unit 24 generates a control amount to be input to the motors 93 and 94 based on the traveling command (for example, step S43 and step S180).
  • the obstacle information acquisition unit 21 acquires position information of obstacles existing around each predetermined control cycle (for example, step S44 and step S171).
  • the map creation unit 22 creates a local map (an example of a local map) indicating the presence or absence of an obstacle in the peripheral area of the main body 1a based on the position information of the obstacle (for example, step S45 and step S172).
  • the travel command generation unit 23 outputs a forced stop travel command to the travel control unit 24 (for example, steps S42, S48, and S175).
  • a local map located around the main body 1 a is created based on the obstacle position information acquired by the obstacle information acquisition unit 21, and passing points that are difficult to reliably estimate its own position are continuous.
  • the travel command generation unit 23 When a predetermined condition is satisfied, as in the case where a position where it is difficult to reliably estimate the self-position is set as the travel start position, the travel command generation unit 23 generates a forced stop travel command.
  • the operator can be notified of this by voice output or image output.
  • a warning sound or voice notification and / or a warning lamp, a warning display, etc. may be sent when the moving amount from the predetermined position exceeds 10 m. it can.
  • the control unit 10 can manage the environment map with a two-layer structure of a static environment map and a dynamic environment map.
  • the static environment map can be restored based on the map restoration data created in the teaching travel mode.
  • the dynamic environment map is superimposed with the dynamic environment map at time (t) and the local map based on the position information of the obstacle in the vicinity of the own position acquired by the obstacle information acquisition unit 21 at time (t + 1). Can be created by combining.
  • the control unit 10 estimates the self-position using the obstacle information acquired by the obstacle information acquisition unit 21 and the surrounding information of the own machine and the static environment map restored from the environment map restoration data. Create a local map of the system.
  • the dynamic environment map at time (t + 1) the obstacle existence probability of each grid is calculated using the dynamic environment map at time (t) and the local map at time (t + 1).
  • DynamicMap (t + 1) DynamicMap (t) + LocalMap (t + 1)
  • the control unit 10 obtains the difference between the dynamic environment map at time (t + 1) and the static environment map, and calculates DiffMap (t + 1) that is the obstacle existence probability of each grid of the difference map at time (t + 1).
  • (T + 1) DynamicMap (t + 1) ⁇ StaticMap ⁇ P1 And update the dynamic environment map using this.
  • FIG. 18 is an explanatory diagram of a dynamic environment map update process.
  • a 4 ⁇ 4 grid near the self-position is targeted, (a) is a dynamic environment map at time (t), (b) is a static environment map, and (c) is a time.
  • the difference map in (t) is shown.
  • the dynamic environment map DynamicMap (t) at time (t) is calculated.
  • FIG. 19 is an explanatory diagram of likelihood calculation at the time of self-position estimation.
  • a 4 ⁇ 4 grid in the vicinity of the self-position is targeted, (a) is a local map in the absolute coordinate system, (b) is a static environment map, and (c) is a dynamic environment map.
  • FIG. 19A shows the obstacle existence probability of each grid after conversion to the local map of the absolute coordinate system based on the obstacle position information around the own machine acquired by the obstacle information acquisition unit 21. .
  • the coordinates of the i-th grid are (gx_occupy (i), gy_occupy (i)).
  • the obstacle existence probability in the coordinates (gx_occupy (i), gy_occupy (i)) of the static environment map is set to StaticMap (gx_occupy (i), gy_occupy (i)), and the coordinates of the dynamic environment map (gx_occupy (i), gy_occupy) Assume that the obstacle existence probability in (i)) is DynamicMap (gx_occupy (i), gy_occupy (i)).
  • the likelihood calculation is performed using the following formula.
  • the problem is that the circular route does not close because the dynamic environment map after passing is deleted. it can.
  • the difference map is used. It becomes possible to detect a change in the arrangement of the obstacle. Accordingly, the autonomous mobile body 1 can avoid contact with an obstacle in response to a layout change on the travel route or the presence of the mobile body.
  • the present invention can be applied to a cleaning robot, a transfer robot, and other autonomous mobile bodies that perform autonomous traveling.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Electromagnetism (AREA)
  • Optics & Photonics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

自律走行体において、自己位置の推定を確実に行い、走行スケジュールに沿った走行を適切に行うことを可能にする。自律移動体(1)は、制御量が入力される複数のアクチュエータを有する走行部(25)と、走行命令に基づいてアクチュエータに入力する制御量を生成する走行制御部(24)と、所定の制御周期毎に、周囲に存在する障害物の位置情報を取得する障害物情報取得部(21)と、障害物の位置情報に基づいて、本体(1a)の周辺領域における障害物の有無を示す局所地図を作成する地図作成部(22)と、局所地図が所定の条件を満たした場合に、走行制御部(24)に強制停止の走行命令を出力する走行命令生成部(23)とを備える。

Description

自律移動体の移動制御装置、自律移動体及び移動制御方法
 本発明は、環境地図作成機能、経路計画機能、及び自律走行機能を有する自律移動体の移動制御装置、自律移動体及び移動制御方法に関する。
 従来から、周囲環境の中を自律して移動する自律移動体が知られている。自律移動体が周囲環境の中を自律して移動するためには、移動空間内の物体(以下、障害物と称す)が存在する領域と存在しない領域とを表した環境地図が必要となる。このような環境地図の取得方法については、種々の方法が考案されているが、近年、移動しつつ、リアルタイムで自己位置の推定と環境地図の作成とを行う技術としてSLAM(Simultaneous Localization and Mapping)が注目されている。SLAMを利用して、レーザレンジファインダ(LRF:Laser Range Finder)又はカメラによる距離計測の結果得られた地形データを用いて環境地図を生成する移動ロボットが提案されている(例えば、特許文献1)。
特開2010-92147号公報
 自律移動体では、例えば、車輪を駆動するアクチュエータ(モータ)の制御量に基づいて、自律移動体の移動量を累積加算して自己位置を推定する。この場合、車輪の摩耗の大小により、推定される自己位置が大きく異なってくる。同様に、車輪のスリップやセンサの計測誤差が累積されると、自律移動体が推定する自己位置にずれが生じ、走行スケジュールに沿った自律走行ができないという問題がある。
 前述したように、自律移動体の本体の周辺に位置する障害物の位置情報に基づいて、環境地図上の自己位置を推定しながら自律走行を行う自律移動体の場合、アクチュエータの制御に基づいて推定された自己位置にずれがあっても、環境地図上の自己位置をマップマッチングにより補正を行うことが可能である。
 しかしながら、このような自律移動体においても、本体の周辺に障害物がほとんど存在しない空間や類似する形状が連続する空間では、自己位置を正確に推定できないおそれがある。
 また、操作者の手動操作に基づいて環境地図を作成しながら走行スケジュールを作成し、この走行スケジュールを自律走行により再現する自律移動体がある。このような自律移動体では、走行開始位置を前述したような本体の周辺に障害物がほとんど存在しない空間や類似する形状が連続する空間に設定すると、再現走行時に走行開始位置を特定することができず、走行スケジュールに沿った自律走行ができない。
 本発明の課題は、自律移動体において、自己位置の推定を確実に行い、走行スケジュールに沿った走行を適切に行うことを可能にすることにある。
 以下に、課題を解決するための手段として複数の態様を説明する。これら態様は、必要に応じて任意に組み合せることができる。
 本発明の一見地による移動制御装置は、自律移動体に用いられる。自律移動体は、本体と、本体に搭載され本体の周囲の物体を検出する検出部と、制御量が入力される複数のアクチュエータを有し本体を移動させる走行部とを備えている。自律移動体の移動制御装置は、走行制御部と、障害物情報取得部と、地図作成部と、走行命令生成部とを備える。
 走行制御部は、走行命令に基づいてアクチュエータに入力する制御量を生成する。障害物情報取得部は、所定の制御周期毎に、本体の周辺領域における障害物の位置情報を検出部から取得する。地図作成部は、障害物の位置情報に基づいて、本体の周辺領域における障害物の有無を示す局所地図を作成する。走行命令生成部は、局所地図が所定の条件を満たした場合に、走行制御部に強制停止の走行命令を出力する。
 地図作成部が作成した局所地図により、自己位置を推定することが困難であるような所定の条件を満たす場合には、走行命令生成部が、強制停止の走行命令を生成して走行部により走行を停止させる。
 このようにして、自己位置の推定が困難な場所であっても、車輪の摩耗やスリップ、センサの計測誤差などに起因して所定の走行スケジュールと異なる位置を走行する事態を未然に防ぐことができる。
 ここで、周辺領域内に障害物が存在する割合が所定値以下である局所地図が所定の走行距離又は所定の走行時間連続する場合に、走行命令生成部は局所地図が所定の条件を満たしたと判断してもよい。
 一般に、本体の周辺に障害物がほとんどないような場合には、環境地図上の自己位置の推定は、走行部の移動量にのみ依存することになる。したがって、このような場合には、車輪の摩耗やスリップ、センサの計測誤差などに起因して、自律移動体が所定の走行スケジュールと異なる位置を走行している可能性がある。このような場合に、本発明に係る自律移動体では、上記の判断に基づいて強制停止の走行命令を出力することで、走行スケジュールと異なる位置を走行することを未然に防止できる。
 また、周辺領域内に存在する障害物が形状変化の小さい単純形状である局所地図が所定の走行距離又は所定の走行時間連続する場合に、走行命令生成部は局所地図が所定の条件を満たしたと判断してもよい。
 例えば、走行経路に沿って平行な壁面が連続する場合や円形状の壁面が連続する場合、障害物情報に基づいて同様の形状の局所地図が連続することになる。このような場合についても、本発明に係る自律移動体では、上記の判断に基づいて強制停止の走行命令を出力することで、所定の走行スケジュールと異なる位置を走行することを未然に防ぐことができる。
 自律移動体は、周囲環境の環境地図を記憶する記憶部と、環境地図上における自己位置を推定する自己位置推定部とをさらに備えてもよい。その場合、走行命令生成部は、自己位置推定部により推定された自己位置周辺の環境地図と、局所地図とを比較し、所定の割合を超えて相違する状態が、所定の走行距離又は所定の走行時間連続する場合に、所定の条件を満たしたと判断する。
 この場合には、地図作成部において作成された局所地図と、自己位置の周辺に位置する環境地図とを比較して、大きく異なる場合には、走行中のずれが生じたと判断して強制停止させることができる。
 走行開始前に地図作成部により作成された局所地図において、周辺領域内に障害物が存在する割合が所定値以下である場合、周辺領域内に存在する障害物が形状変化の小さい単純形状である場合、又は自己位置周辺の環境地図と所定の割合を超えて相違する場合に、走行命令生成部は、局所地図が所定の条件を満たしたと判断してもよい。
 上記の条件の場合は、自律移動体は所定の走行スケジュールと異なる位置を走行する可能性がある。その理由は以下の通りである。第1に、周辺領域内に障害物がほとんどない位置又は同様形状の障害物を有する位置が多数あるような位置を走行開始位置とした場合、自律移動体は走行スケジュールと異なる走行開始位置を選択する可能性がある。第2に、局所地図上の障害物の形状が環境地図上の障害物の形状と大きく異なる場合には、走行スケジュールの走行開始位置と異なる可能性が高い。
 このような場合には、走行命令生成部が強制停止の走行命令を出力することで、所定の走行スケジュールと異なる位置を走行することを未然に防ぐことができる。
 自律移動体は、操作者の手動操作により走行開始位置から走行終了位置まで手動走行させながら、通過時刻と通過時刻における通過点データの集合でなる走行スケジュールを作成する教示走行モードと、走行スケジュールを再現しながら、走行開始位置から走行終了位置まで自律的に走行する再現走行モードとを実行可能であってもよい。さらに、走行命令生成部は、教示走行モードにおいて局所地図が所定の条件を満たすか否かを判別してもよい。
 この場合、教示走行モードにおいて、自己位置の推定が困難になるような通過点データを排除して、適切な走行スケジュールを作成することができる。
 走行命令生成部は、再現走行モードにおいて局所地図が所定の条件を満たすか否かを判別してもよい。
 この場合、再現走行モードにおいて、走行開始位置が走行スケジュールから大きくずれている場合に強制停止を実行して、さらに操作者に走行開始位置の再設定を促すことができる。
 本発明の他の見地に係る自律移動体は、本体と、本体に搭載され本体の周囲の物体を検出する検出部と、制御量が入力される複数のアクチュエータを有し本体を移動させる走行部と、上記の移動制御装置と、を備えている。
 本発明のさらに他の見地に係る移動制御方法は、自律移動体に適用される。自律移動体は、本体と、本体に搭載され本体の周囲の物体を検出する検出部と、制御量が入力される複数のアクチュエータを有し本体を移動させる走行部と、を有する。自律移動体の移動制御方法は下記のステップを備えている。
 ◎走行命令に基づいてアクチュエータに入力する制御量を生成するステップ
 ◎所定の制御周期毎に、周囲に存在する障害物の位置情報を検出部から取得するステップ
 ◎障害物の位置情報に基づいて、本体の周辺領域における障害物の有無を示す局所地図を作成するステップ
 ◎局所地図が所定の条件を満たした場合に、走行制御部に強制停止の走行命令を出力するステップ
 本発明の構成によれば、自己位置の推定を確実に行い、走行スケジュールに沿った走行を適切に行うことが可能な自律移動体を提供できる。
一実施形態による自律移動体の概略構成を示すブロック図。 清掃用ロボットの制御ブロック図。 自律移動体の制御動作の概略を示す制御フローチャート。 教示走行モードにおける自律移動体の制御フローチャート。 レーザレンジセンサの走査範囲の一例を示す説明図。 レーザレンジセンサの走査範囲の他の例を示す説明図。 レーザレンジセンサにより検出した障害物の位置情報の一例を示すテーブル。 センサを中心とした座標系でのローカルマップの説明図。 走行経路の説明図。 自己位置推定処理の制御フローチャート。 事後確率分布の一例を示す説明図。 事前確率分布の一例を示す説明図。 尤度計算処理の制御フローチャート。 尤度計算処理により得られた尤度分布の一例を示す説明図。 事後確率計算処理により得られた事後確率分布の一例を示す説明図。 グローバルマップ更新処理の概念構成を示す説明図。 再現走行モードにおける自律移動体の制御フローチャート。 動的環境地図の更新処理の説明図。 自己位置推定時における尤度計算の説明図。
(1)概略構成
 以下、図面を参照して本発明の実施形態について詳細に説明する。なお、各図において、同一要素には同一符号を付して重複する説明を省略する。
 図1は、本発明の一実施形態による自律移動体の概略構成を示すブロック図である。
 自律移動体1は、制御部11、測距センサ31、操作部32、表示部33、走行部25を備えている。
 測距センサ31は、自律移動体1の走行方向前側にある障害物を検出するセンサである。測距センサ31は、例えば、レーザ発振器によりパルス発振されたレーザ光を目標物に照射し、目標物から反射した反射光をレーザ受信器により受信することにより、目標物までの距離を算出するレーザレンジファインダ(LRF:Laser Range Finder)を用いることができる。測距センサ31は、照射するレーザ光を回転ミラーを用いて所定の角度で扇状にレーザ光を操作することができる。このような測距センサ31は、自律移動体1の後方にも配置することができる。
 操作部32は、自律移動体1を手動操作により走行させる際に、操作者が操作するユーザインターフェイスであって、走行速度の指示を受け付けるスロットル、走行方向の指示を受け付けるハンドルなどを備える。
 表示部33は、現在の走行状況に関する情報、その他の各種情報を表示するものであって、液晶ディスプレイ、LEDランプなどで構成される。
 走行部25は、走行経路を走行するための複数の走行車輪(図示せず)を備え、これら走行車輪を駆動するためのアクチュエータとしての複数の走行モータ(図示せず)を備えている。
 制御部11は、CPU、RAM、ROMを備えるコンピュータであり、所定のプログラムを実行することで走行制御を行う。
 制御部11は、障害物情報取得部21、地図作成部22、走行命令生成部23、走行制御部24を備える。
 障害物情報取得部21は、所定の制御周期毎に、本体1a(図5及び図6を参照)の周囲に存在する障害物の位置情報を取得する。
 地図作成部22は、障害物の位置情報に基づいて、本体1aから所定距離の周辺領域における障害物の有無を示す局所地図を作成する。
 走行制御部24は、走行命令に基づいてアクチュエータに入力する制御量を生成する。
 走行命令生成部23は、局所地図が所定の条件を満たした場合に、走行制御部24に強制停止の走行命令を出力する。
(2)機能ブロック
 本発明の自律移動体を清掃用ロボットに適用した第1実施形態を以下に説明する。
 図2は、本発明の第1実施形態が採用される清掃用ロボットの制御ブロック図である。
 この清掃用ロボット40は、教示走行モードと、再現走行モードとを実行するものとする。教示走行モードは、操作者の手動操作により走行開始位置から走行終了位置まで手動走行させながら、通過時刻と通過時刻における通過点データの集合でなる走行スケジュールと環境地図復元用データを作成する。
再現走行モードでは、走行スケジュールを再現しながら、走行開始位置から走行終了位置まで自律的に走行する。
 清掃用ロボット40は、自律移動体1と、スロットル42、清掃部ユーザインターフェイス43を備える。清掃用ロボット40は、さらに、清掃部(図示せず)を有している。清掃部は、自律移動体1の下部に設けられており、自律移動体1の移動と共に床面を清掃するための装置である。
 スロットル42は、図1の操作部32に対応するものであり、操作者の手動操作による指示入力を受け付ける。スロットル42は、軸周りの回転角度により制御の指示入力を受け付けるスロットルグリップを左右独立して設けることができる。また、スロットル42は、前進速度を受け付けるスロットルグリップと、操舵方向の指示を受け付けるハンドルの組合せとすることも可能である。さらに、スロットル42は、スロットルレバーやその他の入力手段を組み合わせたものとすることができる。
 清掃部ユーザインターフェイス43は、清掃部(図示せず)による清掃動作の指示を操作者から受け付けるものであり、例えば、操作ボタン、タッチパネル、その他操作スイッチの組合せで構成できる。
 自律移動体1は、コントロールボード51、ブレーカ52、前方レーザレンジセンサ53、後方レーザレンジセンサ54、バンパースイッチ55、非常停止スイッチ56、スピーカ57、走行部25を備える。
 ブレーカ52は、主電源スイッチであって、操作者の操作に基づいて、自律移動体1の各部にバッテリ(図示せず)からの電源電圧供給のオン、オフを行う。
 前方レーザレンジセンサ53は、自律移動体1の前方に位置する障害物の位置情報を検出するものであり、所定の角度範囲で水平方向にレーザ光を照射して、障害物から反射される反射光を受信して、本体1aから障害物までの距離を測定する。
 後方レーザレンジセンサ54は、自律移動体1の後方に位置する障害物の位置情報を検出するものであり、所定の角度範囲で水平方向にレーザ光を照射して、障害物から反射される反射光を受信して、本体1aから障害物までの距離を測定する。
 バンパースイッチ55は、自律移動体1の車体外周に取り付けられた感圧スイッチとすることができ、障害物に接触したことを検出して、検出信号を出力する。
 非常停止スイッチ56は、自律移動体1の動作を緊急停止させる指示を受け付けるものであって、操作者による操作が可能なスイッチである。
 スピーカ57は、自律移動体1の動作中における各種情報を音により操作者に通知する。
 コントロールボード51は、CPU、ROM、RAMを搭載する回路基板であり、制御部11、教示データ作成部26、SLAM処理部63、不揮発メモリ64、障害物情報取得部21、記憶部27、走行制御部24を含む。
 記憶部27は、各種データを記憶するものであり、教示走行モードにおいて作成された走行スケジュール及び環境地図復元用データを、時刻又は時刻に関連付けた識別子に関連付けて記憶する。
 制御部11は、コントロールボード51に搭載されるマイクロプロセッサであり、所定のプログラムを実行することにより、自律移動体1の各部の動作を制御する。
 教示データ作成部26は、教示走行モードにおける通過時刻と通過時刻に対応する通過点データの集合である走行スケジュールを作成する。
 SLAM処理部63は、自己位置推定と環境地図作成を同時に行うSLAM(Simultaneous Localization and Mapping)処理を実行する機能ブロックであって、地図作成部22、自己位置推定部72、マップマッチング部73を備える。
 地図作成部22は、障害物情報取得部21により取得した障害物の位置情報を、取得した時刻と対応付けて環境地図復元用データとして記憶部27に記憶させる。また、地図作成部22は、障害物情報取得部21により取得した障害物の位置情報に基づいて、本体1aの周辺領域におけるローカルマップ(局所地図)を作成する。さらに、地図作成部22は、作成したローカルマップに基づいて、自己位置推定用のグローバルマップ(環境地図)を作成する。また、地図作成部22は、再現走行モードにおいて、現在の通過点よりも先の時刻に対応する環境地図復元用データを記憶部から読み出して、グローバルマップを更新する。
 自己位置推定部72は、前回の自己位置からの移動量を前回の自己位置に加算することで、現在の自己位置を推定する。
 マップマッチング部73は、本体1aの周囲に位置する障害物の位置情報に基づいて作成されたローカルマップと、更新されたグローバルマップとを比較して、自己位置推定部72により推定された自己位置を補正する。
 不揮発メモリ64は、制御部11のブートプログラム、走行制御に関するプログラム、各種パラメータなどを記憶する。
 障害物情報取得部21は、前方レーザレンジセンサ53及び後方レーザレンジセンサ54の検出信号に基づいて本体1aの周囲に位置する障害物の位置情報を取得する。
 記憶部27は、教示データ作成部26により作成された走行スケジュールと、地図作成部22により作成された環境地図復元用データと、を又は時刻に関連付けた識別子に記憶する。
 走行命令生成部23は、走行制御部24に走行命令を出力するものである。走行命令生成部23は、教示走行モードにおいて、スロットル42を介して入力される操作者からの指示入力に基づいて走行命令を走行制御部24に出力する。また、走行命令生成部23は、再現走行モードにおいて、SLAM処理部63により推定されるグローバルマップ上の自己位置、更新されたグローバルマップ及び走行スケジュールに基づいて走行命令を生成し、走行制御部24に出力する。
 さらに、走行命令生成部23は、地図作成部22により作成されるローカルマップ上の障害物の位置情報が、所定の条件を満たすか否かを判別し、所定の条件を満たすと判断した場合に、走行制御部24に強制停止の走行命令を出力する。
 走行制御部(モーションコントローラ)24は、入力される走行命令に基づいて走行部25のアクチュエータの制御量を生成して、それを走行部25に入力する。
 走行制御部24は、演算部81、判断部82、移動制御部83を備えている。判断部82は、入力された走行命令を解釈する。演算部81は、判断部82により解釈された走行命令に基づいて、走行部25のアクチュエータの制御量を算出する。移動制御部83は、演算部81により算出された制御量を走行部25に出力する。
 走行部25は、2つの走行車輪(図示せず)に対応して、一対のモータ93、94を有し、それぞれの回転位置を検出するエンコーダ95、96と、モータ駆動部91、92を備えている。
 モータ駆動部(モータドライバ)91は、走行制御部24から入力される制御量と、エンコーダ95により検出されるモータ93の回転位置とに基づいて、モータ93をフィードバック制御する。モータ駆動部92は、同様に、走行制御部24から入力される制御量と、エンコーダ96により検出されるモータ94の回転位置に基づいて、モータ94のフィードバック制御を行う。
 走行命令生成部23、教示データ作成部26、障害物情報取得部21、走行制御部24、SLAM処理部63は、それぞれ制御部11がプログラムを実行することにより実現される機能ブロックとすることができ、また、それぞれ独立した集積回路で構成することも可能である。
(3)制御動作
 図3は、自律移動体の制御動作の概略を示す制御フローチャートである。以下、図2における制御部11が所定のプログラムを実行することにより、走行命令生成部23、教示データ作成部26、SLAM処理部63、障害物情報取得部21、及び走行制御部24の各機能ブロックを実現するものとして説明する。なお、以下の制御フローの説明においては、各ステップの順序は必要に応じて変更可能であり、その順序は限定されない。また、各ステップは同時に実行されてもよいし、部分的に重なって実行されてもよい。
 ステップS31において、制御部11は、操作者によりモード選択が行われたか否かを判別する。具体的には、操作者による操作部32の操作により指示入力を受け付けた場合、又はリモコンからの指示入力信号を受信した場合に、制御部11はステップS32に移行する。
 ステップS32において、制御部11は選択されたモードが教示走行モードであるか否かを判別する。制御部11は、教示走行モードを選択する指示入力を受け付けたと判断した場合、ステップS33に移行し、そうでない場合にはステップS34に移行する。
 ステップS33において、制御部11は教示走行モードを実行し、その後、ステップS36に移行する。
 ステップS34において、制御部11は選択されたモードが再現走行モードであるか否かを判別する。制御部11は、再現走行モードを選択する指示入力を受け付けたと判断した場合、ステップS35に移行する。
 ステップS35において、制御部11は再現走行モードを実行し、その後、ステップS36に移行する。
 ステップS36において、制御部11は、終了指示を受け付けたか否か、もしくは教示された走行スケジュールを終えたか否かを判別する。具体的には、制御部11は、操作者による操作部32の操作により処理終了する旨の指示入力があった場合、リモコンにより処理終了する旨の指示入力信号を受信した場合、あるいは、教示走行モードにより作成された走行スケジュールを終了したと判断した場合には、処理を終了し、そうでない場合には、ステップS31に移行する。
(3-1)教示走行モード
 図4は、教示走行モードにおける自律移動体の制御フローチャートである。
 ステップS40において、制御部11は、初期設定を行う。具体的に、制御部11は、前方レーザレンジセンサ53及び後方レーザレンジセンサ54の検出信号に基づいて、本体1aの周囲に位置する障害物の位置情報を取得し、これに基づいて自機の周囲におけるローカルマップを作成する。
 グローバルマップが予め記憶部27に記憶されていない場合には、制御部11は、障害物の位置情報に基づいて作成した時刻(t1)における自己位置(x1,y1)が絶対座標系の原点(あるいは所定の座標)になるように、ローカルマップをグローバルマップとして置き換える。
 以下、図5~図8を用いて、制御部11によるローカルマップの作成を説明する。
 図5は、レーザレンジセンサの走査範囲の一例を示す説明図である。
 自律移動体1は、前端部に前方レーザレンジセンサ53が取り付けられており、パルス発振されたレーザ光を回転ミラーにより扇状に走査して、そして自律移動体1の前方に位置する障害物から反射する反射光を受信する。
 図5に示す例では、前方レーザレンジセンサ53は、前方約180度の走査領域101にレーザ光を送信する。前方レーザレンジセンサ53は、障害物から反射した反射光を所定周期で受信し、送信したレーザ光の送信パルスと受信した反射光の受信パルスとを比較して、障害物までの距離を検出する。
 自律移動体1には、後端部に後方レーザレンジセンサ54が取り付けられている。後方レーザレンジセンサ54は、前方レーザレンジセンサ53と同様に、パルス発振されたレーザ光を回転ミラーにより扇状に走査して、その結果、自律移動体1の後方に位置する障害物から反射する反射光を受信する。
 図5に示す例では、後方レーザレンジセンサ54は、後方約180度の走査領域103にレーザ光を送信する。ただし、自律移動体1は、後述する教示走行モードにおいて、障害物の検出を行わないマスク領域105を設け、第1走査領域115及び第2走査領域117に位置する障害物の位置情報を検出する。なお、マスク領域150は、自律移動体1の後方に位置する操作者に対応させて設けられている。
 図6は、レーザレンジセンサの走査範囲の他の例を示す説明図である。
 図5に示す例では、前方レーザレンジセンサ53及び後方レーザレンジセンサ54が、約180度の角度でレーザ光の走査を行っているのに対して、図6に示す例では、それぞれ約240度の角度でレーザ光の走査を行っている点で異なる。
 具体的には、前方レーザレンジセンサ53による走査領域101は前方240度の角度範囲である。また、後方レーザレンジセンサ54による走査領域103は後方240度の角度範囲であり、マスク領域105を除く第1走査領域115及び第2走査領域117に位置する障害物の位置情報を検出する。
 図7は、レーザレンジセンサにより検出した障害物の位置情報の一例を示すテーブルである。
 前方レーザレンジセンサ53及び後方レーザレンジセンサ54は、所定の走査領域にレーザ光を照射し、さらに障害物からの反射光を受信して、その後に照射したレーザ光の送信パルスと受信した反射光の受信パルスとに基づいて、障害物までの距離Rを出力値として算出する。また、前方レーザレンジセンサ53及び後方レーザレンジセンサ54は、障害物までの距離Rを得た時のセンサ角度Nも出力する。
 制御部11は、前方レーザレンジセンサ53及び後方レーザレンジセンサ54の出力を、所定の角度毎に取得し、それに基づいてセンサ角度Nと障害物までの距離Rとを対応付けた位置情報テーブルを作成する。図7に示す位置情報テーブルは、0.72度毎にセンサ出力を取得して障害物の位置情報テーブルとしたものである。
 制御部11は、センサ座標系によるローカルマップの作成処理を実行する。具体的には、制御部11は、前方レーザレンジセンサ53及び後方レーザレンジセンサ54により取得した障害物の位置情報テーブル(例えば、図7に示す障害物の位置情報テーブル)に基づいて、センサを中心とした座標系における自己位置近傍の環境地図であるローカルマップを作成する。
 例えば、図5及び図6に示すように、制御部11は、前方レーザレンジセンサ53及び後方レーザレンジセンサ54により走査される走査領域101、103内を、所定の面積のグリッドに分割し、障害物の位置情報テーブルに基づいて、各グリッドにおける障害物存在確率を算出する。
 図8は、センサを中心とした座標系でのローカルマップの説明図である。
 制御部11は、前方レーザレンジセンサ53又は後方レーザレンジセンサ54のセンサ中心を原点132とし、障害物の位置情報テーブルのセンサ角度Nに対応する走査線131上のグリッドに対して障害物存在確率を決定する。ここで、障害物が存在するグリッドの障害物存在確率を「1.0」とし、障害物が存在するか否か不明であるグリッドの障害物存在確率を「0」とし、障害物と原点との間に位置するグリッドの障害物存在確率を「-1+(r/R)=-1.0~0」とする。
 制御部11は、走査線131上であって、原点132からの距離rが障害物までの距離Rと一致するグリッドを検出グリッド133として、そのグリッドの障害物存在確率を「1.0」とする。
 制御部11は、走査線131上であって、原点132からの距離rが障害物までの距離R未満にあるグリッドには障害物が存在しないと判断する。図8において、原点132と検出グリッド133との間に位置する中間グリッド134~138の障害物存在確率を「-1+(r/R)=-1.0~0」とする。
 制御部11は、走査線131上であって、原点132からの距離rが障害物までの距離Rよりも遠くにあるグリッドには、障害物が存在するか否かは不明であると判断して、不明グリッド139の障害物存在確率を「0」とする。
 このことにより、図5又は図6に示すように、前方レーザレンジセンサ53及び後方レーザレンジセンサ54を中心として、障害物存在確率が「1.0」である検出グリッド107と、障害物存在確率が「-1.0~0」である中間グリッド109と、障害物存在確率が「0」である不明グリッド111とを含むセンサ座標系によるローカルマップが作成される。
 ただし、後方レーザレンジセンサ54のマスク領域105に位置するグリッドは、不明グリッド113として障害物存在確率が「0」に設定される。
 図5及び図6に示す例では、自律移動体1の前方に位置して直線状に検出グリッド107が存在しており、したがって走行経路を構成する壁面又は大型の障害物が存在すると推定することができる。
 このようにして、センサ座標系のローカルマップ作成処理では、前方レーザレンジセンサ53及び後方レーザレンジセンサ54を中心とする周囲に位置する各グリッドの障害物存在確率を算出して、これをセンサ座標系のローカルマップとして出力する。
 ステップS41において、制御部11は、走行開始位置が適切であるか否かを判別する。具体的には、障害物情報取得部21により取得した障害物の位置情報に基づいて作成されたローカルマップが、本体1aの周辺にほとんど障害物がない位置、あるいは、単純形状が連続するような位置であれば、制御部11は、ローカルマップが所定の条件を満たすと判断する。
 以下、図9を用いて、ローカルマップが、本体1aの周辺にほとんど障害物がない位置、あるいは、単純形状が連続するような位置を、具体的に説明する。図9は、走行経路の説明図である。
 図9に示すように、環状の走行経路901内を自律移動体1が走行するものとし、走行スケジュールにおける任意の通過点を第1通過点911~第5通過点915とする。
 各第1通過点911~第5通過点915において、地図作成部22が、それぞれ障害物の位置情報に基づいて周辺領域のローカルマップ921~925を作成する。
 教示走行モードの走行開始位置として、図9の第3通過点913を選択した場合、本体1aの周辺領域のローカルマップ923には、障害物情報が含まれていない。したがって、ローカルマップ923の各グリッドの障害物存在確率は「-1.0~0」である。
 図9において、走行経路901の第3通過点913の近傍には、各グリッドの障害物存在確率が「-1.0~0」であるローカルマップが作成される通過点が複数存在する。したがって、このような第3通過点913を走行開始位置として選択した場合、再現走行モードにおいて、走行開始位置が走行スケジュールの走行開始位置に合致しているか否かを判別することができなくなる。
 また、再現走行モードにおいて、偶然、走行開始位置を第3通過点913と合致させることができたとしても、走行方向(姿勢θ)を特定することができないことから、以後の自律走行制御が正確に行うことが困難となる。
 教示走行モードの走行開始位置として、図9の第2通過点912を選択した場合、本体1aの周辺領域のローカルマップ922は、左右両側の平行な壁面に対応する位置にグリッドの障害物存在確率が「1.0」であり、その間に位置するグリッドの障害物存在確率が「-1.0~0」となる。
 図9に示す例では、第2通過点912の走行方向前後に位置して、平行な壁面が左右に存在するだけの単純形状が連続しており、第2通過点912の近傍では、同様のローカルマップとなる通過点が複数存在している。また、走行経路901中には、第2通過点912から離れた位置であっても、ローカルマップと同様の形状となる点が存在しており、例えば、第4通過点914におけるローカルマップ924、第5通過点におけるローカルマップ925が類似するローカルマップとなる。
 したがって、このような第2通過点912を走行開始位置として選択した場合、再現走行モードにおいて、走行開始位置が走行スケジュールの走行開始位置に合致しているか否かを判別することができなくなる。
 このようにして、走行開始前に、地図作成部22が作成したローカルマップ中に、障害物が存在する割合が非常に低い場合、あるいは障害物が存在する割合が所定値以下である場合には、制御部11は、ローカルマップが所定条件を満たすと判断して(ステップS41でNo)、ステップS42に移行し、そうでない場合には(ステップS41でYes)、ステップS43に移行する。
 ステップS42において、制御部11は、走行部25における走行を強制停止させる。具体的には、走行命令生成部23が、強制停止の走行命令を生成し、これを走行制御部24に出力する。走行制御部24は、強制停止の走行命令に基づいて、走行部25のモータ93,94を停止させるための制御信号を送信する。この後、制御部11は、処理を終了する。
 上記のように地図作成部22が作成したローカルマップにより、自己位置を推定することが困難であるような所定の条件を満たす場合には、走行命令生成部23が、強制停止の走行命令を生成して走行部25により走行を停止させる。このようにして、自己位置の推定が困難な場所であっても、車輪の摩耗やスリップ、センサの計測誤差などに起因して所定の走行スケジュールと異なる位置を走行する事態を未然に防ぐことができる。
 ステップS43において、制御部11は、操作者が入力した走行命令に基づいて、走行部25のアクチュエータの制御量を作成し、走行部25に出力する。教示走行モードでは、操作者がスロットル42を操作することにより入力する走行速度及び操舵に関する指示入力を受け付け、走行経路内における走行制御を行う。操作者による指示入力は、リモコンによる無線での指示入力信号を受信することもできる。
 ステップS44において、制御部11はデータ計測処理を実行する。具体的には、制御部11は、前方レーザレンジセンサ53及び後方レーザレンジセンサ54により、レーザ光を照射し、障害物から反射した反射光を受信して、その障害物の距離及び方向に関する障害物情報を得る。
 また、制御部11は、さらに自律移動体1の一定時間内の移動量に関する情報を取得する。具体的には、制御部11は、走行部25のエンコーダ95、96から、それぞれ対応するモータ93、94の回転位置に関する情報を取得し、一定時間内の移動量を算出する。
 一定時間内の移動量は、自律移動体1の前回の計測時点(t-1)の2次元座標(x(t-1),y(t-1))からの移動量と、進行方向の変更量とを備える移動量(dx,dy,dθ)として表すことができる。
 ステップS45において、制御部11は、センサ座標系によるローカルマップの作成処理を実行する。具体的には、前方レーザレンジセンサ53及び後方レーザレンジセンサ54により取得した障害物の位置情報テーブル(例えば、図7に示す障害物の位置情報テーブル)に基づいて、センサを中心とした座標系における本体1aの周囲に位置する所定範囲を所定の大きさのグリッドに分割し、各グリッドに算出された障害物存在確率を対応付けたローカルマップを作成する。
 ステップS46において、制御部11は、作成したローカルマップが所定の条件を満たしているか否かを判別する。具体的には、地図作成部22により作成されたローカルマップ中に、障害物が存在する割合が所定値以下である場合、あるいは、ローカルマップ中に含まれる障害物の形状が単純形状である場合には、制御部11は、ローカルマップが所定条件を満たすと判断してステップS47に移行する。また、記憶部27に予め記憶されたグローバルマップがある場合には、自己位置近傍に位置するグローバルマップと、作成されたローカルマップとを比較して、対応する各グリッドにおける障害物存在確率が大きく異なる場合にも、制御部11は、ローカルマップが所定の条件を満たすと判断して、ステップS47に移行する。
 ステップS47において、制御部11は、作成されたローカルマップが所定の条件を満たす状態が、所定の走行距離で連続しているか、あるいは、所定の時間で連続しているか否かを判別する。具体的には、例えば、図9の第3通過点913の近傍を通過中である場合、ローカルマップ中に障害物が存在する割合が所定値以下である状態が所定距離又は所定時間連続して生じる。したがって、このような場合には、制御部11は、グローバルマップ上の正確な自己位置を特定できないと判断し(ステップS47でYes)、ステップS48に移行する。
 また、例えば、図9の第2通過点の近傍を通過中であるような場合、ローカルマップ中に存在する障害物が単純形状である状態が所定距離又は所定時間連続する状態が生じる。このような場合にも、制御部11は、グローバルマップ上の正確な自己位置を特定できないと判断し(ステップS47でYes)、ステップS48に移行する。
 上記のように、周辺領域の内に障害物が存在する割合が所定値以下であるようなローカルマップが所定の走行距離又は所定の走行時間連続する場合に、走行命令生成部23はローカルマップが所定の条件を満たしたと判断する。一般に、本体の周辺に障害物がほとんどないような場合には、環境地図上の自己位置の推定は、走行部の移動量にのみ依存することになる。したがって、このような場合には、車輪の摩耗やスリップ、センサの計測誤差などに起因して、自律移動体が所定の走行スケジュールと異なる位置を走行している可能性がある。このような場合に、本実施形態に係る自律移動体1では、上記の判断に基づいて強制停止の走行命令を出力することで、走行スケジュールと異なる位置を走行することを未然に防止できる。
 さらに、制御部11は、記憶部27に格納されたグローバルマップと、地図作成部22により作成されたローカルマップとを比較して、大きく異なる状態が所定距離又は所定時間連続していると判断した場合には(ステップS47でYes)、ステップS48に移行する。例えば、グローバルマップが作成された時点から、走行経路中のレイアウトが大きく変更された場合には、制御部11は、グローバルマップ上の正確な自己位置を特定できないと判断してステップS48に移行する。
 ステップS47において、制御部11は、ローカルマップが所定の条件を満たす状態が所定距離又は所定時間連続していないと判断した場合には(ステップS47でNo)、ステップS49に移行する。
 ステップS48において、制御部11は、走行部25における走行を強制停止させる。具体的には、制御部11は、走行命令生成部23に強制停止の走行命令を生成させて、走行制御部24に出力させる。
 この後、制御部11は、処理を終了する。
 ステップS49において、制御部11は、グローバルマップ上の自己位置を推定する。具体的には、自己位置推定部72により、時刻(t-1)における自己位置に時刻(t-1)~時刻(t)間の移動量(dx,dy,dθ)を加算して時刻(t)の自己位置として推定する。また、制御部11は、自己位置のパラメータとして、2次元座標(x,y)と進行方向(θ)を有する3次元のグリッド空間(x,y,θ)を想定し、移動前後における各グリッドの自己位置の確率分布を算出することで、マップマッチングを行う。
 以下、図10を用いて、自己位置推定処理を具体的に説明する。図10は、自己位置推定処理の制御フローチャートである。
 ステップS101において、制御部11は、事前確率計算処理を実行する。
 制御部11は、現在時刻である時刻(t)を用いて、時刻(t-1)の事後確率分布と、時刻(t-1)~時刻(t)間の移動量(dx,dy,dθ)とに基づいて、時刻(t)における自己位置の事前確率分布を算出する。
 図11は、事後確率分布の一例を示す説明図であり、図12は、事前確率分布の一例を示す説明図である。
 制御部11は、図11に示す時刻(t-1)の事後確率分布に、時刻(t-1)~時刻(t)間の移動量(dx,dy,dθ)を加算して、座標をシフトさせる。
 制御部11は、さらに、正規分布を畳み込み演算することによって、図12に示すような時刻(t)における事前確率分布を得る。
 制御部11は、このような事前確率計算処理を、3次元グリッド空間(x,y,θ)内の各グリッドに対して実行することにより、車輪のスリップなどを考慮しながら、エンコーダ95、96から取得した移動量(dx,dy,dθ)を加えた自己位置の確率分布を更新する。
 ステップS102において、制御部11は尤度計算処理を実行する。
 図13は、尤度計算処理の制御フローチャートである。
 ステップS131において、制御部11は、仮の自己位置座標を抽出する。具体的には、制御部11は、事前確率分布処理により算出された時刻(t)における事前確率のうち閾値を超える座標を1つ抽出し、これを仮の自己位置座標とする。制御部11は、時刻(t)の事前確率分布、ローカルマップ、及び作成中のグローバルマップに基づいて、抽出した仮の自己位置座標における尤度を算出する。
 ステップS132において、制御部11は、座標変換処理を実行する。具体的には、制御部11は、センサ座標系によるローカルマップを、仮の自己位置座標に基づいて、絶対座標系のローカルマップに変換する。
 制御部11は、事前確率分布に基づいて抽出された仮の自己位置座標を(x,y,θ)とし、センサ座標系によるローカルマップの各グリッドの座標を(lx,ly)として、絶対座標系のローカルマップの各グリッドの座標(gx,gy)を数式1により算出する。
Figure JPOXMLDOC01-appb-M000001
 ステップS133において、制御部11は、マップマッチング処理を実行する。
 制御部11は、作成中のグローバルマップと絶対座標系のローカルマップとのマップマッチング処理を行い、それに基づいて絶対座標系のローカルマップ上における各グリッドの障害物存在確率を算出する。
 制御部11は、絶対座標系のローカルマップにおいて、障害物存在確率「1.0」のグリッドがN個存在した場合、i番目のグリッドの座標を(gx_occupy(i),gy_occupy(i))とし、グローバルマップ上の座標(gx_occupy(i),gy_occupy(i))における障害物存在確率をGMAP(gx_occupy(i),gy_occupy(i))として、以下の数式2により一致度を表すスコアsを算出する。
 
Figure JPOXMLDOC01-appb-M000002

 制御部11は、複数の仮の自己位置に対してそれぞれスコアsを算出して、それを自己位置の尤度分布とする。
 図14は、尤度計算処理により得られた尤度分布の一例を示す説明図である。
 ステップS103において、制御部11は、事後確率計算処理を実行する。具体的に、制御部11は、絶対座標系のローカルマップの各グリッドに対して、時刻(t)における事前確率分布に、時刻(t)における尤度分布を掛けることにより、時刻(t)における事後確率を算出する。
 図15を用いて、事後確率計算処理を具体的に説明する。図15は、事後確率計算処理により得られた事後確率分布の一例を示す説明図である。図15では、図11に示す時刻(t)における事前確率分布と、図14に示す時刻(t)における尤度分布とを掛けて得られた事後確率分布を示している。
 制御部11は、複数の仮の自己位置に対して事後確率計算処理を実行し、その結果事後確率が最大となるものを自己位置とすることができる。
 上述のような構成とすることにより、尤度が同程度の値を持つ仮の自己位置に対して事前確率の差を事後確率に反映させることができ、さらに、前方レーザレンジセンサ53、後方レーザレンジセンサ54と走行部25のエンコーダ95,96の出力信号に基づいてデッドレコニング(Dead-Reckoning)により、自己位置を推定することが可能となる。また、時刻(t)における事前確率計算を行う際に、時刻(t-1)の事後確率を用いていることから、走行部25における車輪(図示せず)のスリップや摩耗、前方レーザレンジセンサ53、後方レーザレンジセンサ54のノイズなどの外乱要因を阻止でき、つまり自己位置を正確に推定できる。
 ステップS50において、制御部11は、障害物情報取得部21により、グローバルマップ上における現在の自己位置の周囲に位置する障害物の位置情報を取得する。
 ステップS51において、制御部11は、障害物情報取得部21により取得した障害物の位置情報を時刻に対応させて環境地図復元用データを作成し、それを記憶部27に記憶する。
 ここで、記憶部27に記載される環境地図復元用データは、グローバルマップ上の自己位置の周囲を所定面積の単位グリッドで分割し、さらに各グリッドに障害物存在確率を対応付けて、障害物の位置情報を取得した時刻(t)と関連つけたものとすることができる。
 記憶部27に予めグローバルマップが保存されている場合には、このステップS51の工程を省略することも可能である。
 ステップS52において、制御部11は、グローバルマップ更新処理を実行する。具体的に、制御部11は、時刻(t-1)におけるグローバルマップに対して、自己位置推定処理により推定された自己位置により座標変換を行った絶対座標系のローカルマップを足し合わせすることで、時刻(t)におけるグローバルマップを作成する。
 図16は、グローバルマップ更新処理の概念構成を示す説明図である。図16に示す例では、自己位置近傍の4×4のグリッドを対象にしており、(a)は時刻(t-1)におけるグローバルマップ、(b)は時刻(t)における絶対座標系のローカルマップ、(c)は更新された時刻(t)におけるグローバルマップを示す。
 図16に示すように、時刻(t-1)におけるグローバルマップ及び時刻(t)におけるローカルマップは、それぞれのグリッドに障害物存在確率が記憶されている。前述したように、障害物が存在していると推定されるグリッドの障害物存在確率は「1.0」、障害物が存在していないと推定されるグリッドの障害物存在確率は「-1.0~0」、障害物の存在が不明であるグリッドの障害物存在確率は「0」に設定されるものとする。
 グローバルマップ更新処理では、制御部11は、自己位置推定処理により推定された自己位置に基づいて、絶対座標系に変換されたローカルマップの各グリッド(図16(b))をグローバルマップの各グリッド(図16(a))に対応させ、各グリッドの障害物存在確率を加算する。
 制御部11は、各グリッドの障害物存在確率が演算により「1.0」以上になる場合、及び「-1.0」以下になる場合には、切り捨て計算を行って、それぞれ「1.0」、「-1.0」とする。このことにより、繰り返し障害物が存在すると判別されたグリッドの障害物存在確率は「1.0」に近い値となり、繰り返し障害物が存在しないと判別されたグリッドの障害物存在確率は「-1.0」に近い値となる。
 このようにして、制御部11は、図16(c)に示す時刻(t)におけるグローバルマップの各グリッドの障害物存在確率を算出することで、グローバルマップを更新する。
 時刻(t)におけるグローバルマップは、少なくとも次の時刻(t+1)において、制御部11が自己位置推定処理を実行するために必要な範囲を含むものであり、一時的に記憶部27に記憶される。
 このグローバルマップ更新処理では、グローバルマップの各グリッドの障害物存在確率が、絶対座標系のローカルマップの対応する各グリッドの障害物存在確率を加算することで更新されるため、車輪のスリップやセンサの計測誤差に基づくノイズの影響を極力少なくすることができる。
 制御部11は、教示走行モードにおいて、走行経路中のローカルマップをつなぎ合わせていき、全体のグローバルマップを作成し、これを記憶部27に記憶させることができる。その場合、環状経路問題を解決するために、部分マップに分割し、各部分マップの連結点を選択設定できるように構成することが好ましい。また、ステップS51において、通過時刻に対応する環境地図復元用データを作成して記憶部27に記憶させる場合には、通過点近傍におけるグローバルマップを記憶部27に残し、通過後のグローバルマップの情報を削除することも可能である。この場合には、環境地図において、環状経路が閉じないという問題を考慮する必要がなくなる。
 ステップS53において、制御部11は、教示データ作成部26により、走行スケジュールを作成し、記憶部27に記憶させる。具体的には、自律移動体1のグローバルマップ上の座標(x,y)と、自律移動体1の走行方向を示す姿勢(θ)及び時刻(t)でなる通過点データ(x,y,θ,t)を記憶部27に記憶させる。
 ステップS54において、制御部11は、終了指示を受け付けたか否かを判別する。具体的には、制御部11は、操作者による操作部32の操作により処理終了する旨の指示入力があった場合、又はリモコンにより処理終了する旨の指示入力信号を受信した場合には終了処理を実行することで処理を終了し、そうでない場合には、プロセスはステップS43に移行する。
(3-2)再現走行モード
 図17は、再現走行モードにおける自律移動体の制御フローチャートである。
 ステップS171において、制御部11はデータ計測処理を実行する。具体的には、制御部11は、前方レーザレンジセンサ53及び後方レーザレンジセンサ54により、レーザ光を照射しさらに障害物から反射した反射光を受信することで、障害物の距離及び方向に関する障害物情報を得る。ここでのデータ計測処理は、教示走行モードにおけるデータ計測処理と同様であり、詳細説明は省略する。
 ステップS172において、制御部11は、センサ座標系によるローカルマップの作成処理を実行する。具体的には、前方レーザレンジセンサ53及び後方レーザレンジセンサ54により取得した障害物の位置情報テーブル(例えば、図7に示す障害物の位置情報テーブル)に基づいて、センサを中心とした座標系における自己位置近傍の各グリッドに障害物存在確率を対応させたローカルマップを作成する。
 ステップS173において、制御部11は、地図作成部22により作成されたローカルマップが、所定の条件を満たしているか否かを判別する。具体的には、地図作成部22により作成されたローカルマップ中に、障害物が存在する割合が所定値以下である場合、あるいは、ローカルマップ中に含まれる障害物の形状が単純形状である場合には、制御部11は、ローカルマップが所定条件を満たすと判断してステップS174に移行する。また、記憶部27に記憶されているグルーバルマップのうち、自己位置近傍に位置するグローバルマップと、作成されたローカルマップとを比較して、対応する各グリッドにおける障害物存在確率が大きく異なる場合にも、制御部11は、ローカルマップが所定の条件を満たすと判断して、ステップS174に移行する。
 ステップS174において、制御部11は、作成されたローカルマップが所定の条件を満たす状態が、所定の走行距離で連続しているか、あるいは、所定の時間で連続しているか否かを判別する。
 具体的には、例えば、図9の第3通過点913の近傍を通過中である場合、ローカルマップ中に障害物が存在する割合が所定値以下である状態が所定距離又は所定時間連続して生じる。したがって、このような場合には、制御部11は、グローバルマップ上の正確な自己位置を特定できないと判断し(ステップS174でYes)、ステップS175に移行する。
 また、例えば、図9の第2通過点の近傍を通過中であるような場合、ローカルマップ中に存在する障害物が単純形状である状態が所定距離又は所定時間連続する状態が生じる。このような場合にも、制御部11は、グローバルマップ上の正確な自己位置を特定できないと判断し(ステップS174でYes)、ステップS175に移行する。
 さらに、制御部11は、記憶部27に格納されたグローバルマップと、地図作成部22により作成されたローカルマップとを比較して、大きく異なる状態が所定距離又は所定時間連続していると判断した場合には、ステップS175に移行する。例えば、グローバルマップが作成された時点から、走行経路中のレイアウトが大きく変更された場合には、制御部11は、グローバルマップ上の正確な自己位置を特定できないと判断してステップS175に移行する。
 ステップS174において、制御部11は、ローカルマップが所定の条件を満たす状態が所定距離又は所定時間連続していないと判断した場合には(ステップS174でNo)、ステップS176に移行する。
 ステップS175において、制御部11は、走行部25における走行を強制停止させる。具体的には、制御部11は、走行命令生成部23に強制停止の走行命令を生成させて、走行制御部24に出力させる。
 この後、制御部11は、処理を終了する。
 ステップS176において、制御部11は、グローバルマップ上の自己位置を推定する。具体的には、自己位置推定部72により、時刻(t-1)における自己位置に時刻(t-1)~時刻(t)間の移動量(dx,dy,dθ)を加算して時刻(t)の自己位置として推定する。また、制御部11は、自己位置のパラメータとして、2次元座標(x,y)と進行方向(θ)を有する3次元のグリッド空間(x,y,θ)を想定し、移動前後における各グリッドの自己位置の確率分布を算出することで、マップマッチングを行う。
 ステップS177において、制御部11は、推定された自己位置に対応するグローバルマップと、障害物情報取得部21により取得した障害物の位置情報から作成したローカルマップと比較して、現在の自己位置に対応する走行スケジュール中の時刻を推定する。このとき、制御部11は、予め記憶部27に記憶されたグローバルマップ、又は教示走行モードにおいて作成し記憶部27に記憶されたグローバルマップを用いることができる。また、教示走行モードにおいて、環境地図復元用データを記憶部27に記憶させた場合には、制御部11は、環境地図復元用データを用いて自己位置近傍のグローバルマップを復元させて、これをローカルマップと比較することもできる。
 ステップS178において、制御部11は、記憶部27に記憶されている走行スケジュールのうち推定した時刻に対応する通過点データを記憶部27から読み出す。
 ステップS179において、制御部11はグローバルマップ更新処理を実行する。具体的に、制御部11は、時刻(t-1)におけるグローバルマップに対して、自己位置推定処理により推定された自己位置により座標変換を行った絶対座標系のローカルマップを足し合わせて、時刻(t)におけるグローバルマップを更新する。このグローバルマップ更新処理では、グローバルマップの各グリッドの障害物存在確率が、絶対座標系のローカルマップの対応する各グリッドの障害物存在確率を加算することで更新されるため、車輪のスリップや摩耗、センサの計測誤差に基づくノイズの影響を極力少なくすることができる。
 制御部11は、教示走行モードにおいて、通過時刻に対応する環境地図復元用データを作成して記憶部27に記憶させる場合には、通過点近傍におけるグローバルマップを記憶部27に残し、通過後のグローバルマップの情報を削除することも可能である。
 ステップ180において、制御部11は、走行部25のアクチュエータの制御量を作成し、走行部25に出力する。具体的には、制御部11は、グローバルマップ上の自己位置と、記憶部27から読み出された通過点データに基づいて、走行スケジュールに沿うように、アクチュエータの制御量を決定し、これに基づく走行命令を走行部25に入力する。
 ステップS181において、制御部11は、再現走行モードを終了するか否かを判別する。具体的には、制御部11は、記憶部27に記憶された走行スケジュールのうち最終の通過点データに到達した場合、操作者により非常停止スイッチ56が操作された場合、バンパースイッチ55により障害物に衝突したことを検出した場合、障害物情報取得部21により検出された障害物の位置情報が所定距離以下に近接した場合などにおいて、制御部11は再現走行モードを終了すると判断する。制御部11は、再現走行モードを終了しないと判断した場合にはステップS181に移行する。
 以上のようにして、図4を用いて説明した教示走行モードにおいて、走行開始位置が不適切である場合には(ステップS41でNo)、走行命令生成部23により強制停止の走行命令を生成して、走行部25による走行を停止させている(ステップS42)。したがって、その後の再現走行モードにおいて、走行開始位置を特定できずに走行不能となる事態を回避できる。
 また、教示走行モード(図4)及び再現走行モード(図17)の両方において、自己位置の推定が困難な形状が連続する場合にも(教示走行モードの場合はステップS47でYes、再現走行モードの場合はステップS174でYes)、走行命令生成部23により強制停止の走行命令を生成して、走行部25による走行を停止させている(教示走行モードの場合はステップS48、再現走行モードの場合はステップS175)。この場合、車輪の摩耗やスリップ、センサの計測誤差などに起因して、自己位置の推定に大きなずれが生じて走行スケジュールに沿った走行ができないという状態を回避できる。
 さらに、グローバルマップ作成時から大きなレイアウト変更があった場合にも、自己位置を特定することが難しくなり、走行不能となることを回避できる。
(4)実施形態の特徴
 上記実施形態は、下記の構成及び機能を有している。
 自律移動体1(自律移動体の一例)は、走行部25(走行部の一例)と、走行制御部24(走行制御部の一例)と、障害物情報取得部21(障害物情報取得部の一例)と、地図作成部22(地図作成部の一例)と、走行命令生成部23(走行命令生成部の一例)とを備える。走行部25は、制御量が入力される複数のモータ93,94(アクチュエータの一例)を有する。走行制御部24は、走行命令に基づいてモータ93,94に入力する制御量を生成する(例えば、ステップS43、ステップS180)。障害物情報取得部21は、所定の制御周期毎に、周囲に存在する障害物の位置情報を取得する(例えば、ステップS44、ステップS171)。地図作成部22は、障害物の位置情報に基づいて、本体1aの周辺領域における障害物の有無を示すローカルマップ(局所地図の一例)を作成する(例えば、ステップS45、ステップS172)。走行命令生成部23は、ローカルマップが所定の条件を満たした場合に、走行制御部24に強制停止の走行命令を出力する(例えば、ステップS42,S48,S175)。
 この自律移動体1では、障害物情報取得部21により取得した障害物の位置情報に基づいて本体1a周辺に位置するローカルマップを作成し、確実な自己位置の推定が困難な通過点が連続する場合や確実な自己位置の推定が困難な位置を走行開始位置に設定された場合のように所定の条件を満たす時、走行命令生成部23により強制停止の走行命令を生成する。このことにより、自律移動体1の自律走行時に、車輪の摩耗やスリップ、センサの計測誤差などに起因して、走行スケジュールを外れて走行することを防止できる。また、所定の条件に近づきつつある状況の時に、音声出力や画像出力により、操作者にその旨を通知することもできる。例えば、所定位置から移動量15mで強制停止するという条件であれば、所定位置からの移動量10mを超えた時点で警告音又は音声通知、および/又は警告ランプ、警告表示などにより通知することができる。
(5)他の実施形態
 以上、本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、発明の要旨を逸脱しない範囲で種々の変更が可能である。特に、本明細書に書かれた複数の実施形態及び変形例は必要に応じて任意に組み合せ可能である。
(5-1)環境地図の更新・削除処理
 制御部10は、環境地図を、静的環境地図と動的環境地図の2層構造で管理することが可能である。静的環境地図は、教示走行モードで作成される地図復元用データに基づいて復元することができる。また、動的環境地図は、時刻(t)の動的環境地図と、時刻(t+1)において障害物情報取得部21が取得する自己位置の周辺における障害物の位置情報に基づくローカルマップとの重ね合わせにより作成することができる。
 例えば、時刻(t)の動的環境地図の各グリッドにおける障害物存在確率を、DynamicMap(t)とし、静的環境地図の各グリッドにおける障害物存在確率を、StaticMapとする。また、時刻(t)において、静的環境地図からの障害物の配置変化を示す差分地図の各グリッドにおける障害物存在確率を、DiffMap(t)とする。
 さらに、動的環境地図の各グリッドの値の範囲を決定するパラメータをP1とすると、
DynamicMap(t)=StaticMap・P1+DiffMap(t)
として算出できる。
 制御部10は、障害物情報取得部21により取得した自機の周囲に位置する障害物情報と、環境地図復元用データから復元された静的環境地図を用いて自己位置を推定し、絶対座標系のローカルマップを作成する。
 時刻(t+1)における動的環境地図は、時刻(t)における動的環境地図と、時刻(t+1)におけるローカルマップとを用いて、各グリッドの障害物存在確率が算出される。絶対座標系のローカルマップにおける各グリッドの障害物存在確率をLocalMap(t+1)とすると、
DynamicMap(t+1)=DynamicMap(t)+LocalMap(t+1)
として算出できる。
 制御部10は、時刻(t+1)における動的環境地図と、静的環境地図との差分を求めて、時刻(t+1)における差分地図の各グリッドの障害物存在確率であるDiffMap(t+1)を
DiffMap(t+1)=DynamicMap(t+1)-StaticMap・P1
として作成し、これを用いて動的環境地図を更新する。
 図18は、動的環境地図の更新処理の説明図である。図18に示す例では、自己位置近傍の4×4のグリッドを対象にしており、(a)は時刻(t)における動的環境地図、(b)は静的環境地図、(c)は時刻(t)における差分地図を示す。
 図18に示すように、時刻(t)における差分地図DiffMap(t)中の各グリッドの障害物存在確率と、静的環境地図StaticMap中の各グリッドの障害物存在確率にパラメータP1を乗算した値とを加算して、時刻(t)における動的環境地図DynamicMap(t)が算出される。各グリッドの障害物存在確率は、-1.0~1.0の範囲の値であり、パラメータP1を「0.5」としている。
 このことから、DynamicMap(t)=StaticMap・P1+DiffMap(t)で算出された動的環境地図の各グリッドの障害物存在確率は、図18(c)のようになる。
 図19は、自己位置推定時における尤度計算の説明図である。図19に示す例では、自己位置近傍の4×4のグリッドを対象にしており、(a)は絶対座標系のローカルマップ、(b)は静的環境地図、(c)は動的環境地図である。
 障害物情報取得部21により取得した自機の周辺における障害物位置情報に基づいて、絶対座標系のローカルマップに変換した後の各グリッドの障害物存在確率が、図19(a)に示される。
 絶対座標系のローカルマップにおいて、障害物存在確率が「1.0」であるグリッドがN個存在する時、i番目のグリッドの座標を(gx_occupy(i),gy_occupy(i))とする。静的環境地図の座標(gx_occupy(i),gy_occupy(i))における障害物存在確率をStaticMap(gx_occupy(i),gy_occupy(i))とし、動的環境地図の座標(gx_occupy(i),gy_occupy(i))における障害物存在確率をDynamicMap(gx_occupy(i),gy_occupy(i))とする。
 絶対座標系のローカルマップにおいて、障害物存在確率が「1.0」になるグリッドのそれぞれに対し、静的環境地図と動的環境地図のうち、障害物存在確率が高い方を用いて、以下の数式により尤度計算を行う。
Figure JPOXMLDOC01-appb-M000003

 このことにより、図19に示す例では、s=(1.0+1.0+0.3+0.3)/4=0.65として尤度を算出することができる。
 このように、グローバルマップとして静的環境地図と動的環境地図の2層で構成する場合においても、通過後の動的環境地図が削除されていることから、環状経路が閉じないという問題を防止できる。
 また、教示走行モードで作成された環境地図復元用データを用いて静的環境地図を復元した際に、障害物の位置情報が変化しているような場合であっても、差分地図を用いて障害物の配置の変化を検知することが可能となる。従って、自律移動体1は、走行経路上のレイアウト変更や移動体の存在に対応して、障害物との接触を回避することが可能となる。
 本発明は、清掃用ロボット、搬送用ロボット、その他の自律走行を行う自律移動体に適用することができる。
1    自律移動体
1a   本体
11   制御部
21   障害物情報取得部
22   地図作成部
23   走行命令生成部
24   走行制御部
25   走行部
26   教示データ作成部
27   記憶部
31   測距センサ
32   操作部
33   表示部
40   清掃用ロボット
42   スロットル
43   清掃部ユーザインターフェイス
51   コントロールボード
52   ブレーカ
53   前方レーザレンジセンサ
54   後方レーザレンジセンサ
55   バンパスイッチ
56   非常停止スイッチ
57   スピーカ
63   SLAM処理部
64   不揮発メモリ
72   自己位置推定部
73   マップマッチング部
81   演算部
82   判断部
83   移動制御部
91   モータ駆動部
92   モータ駆動部
93   モータ
94   モータ
95   エンコーダ
96   エンコーダ
101  走査領域
103  走査領域
105  マスク領域
107  検出グリッド
109  中間グリッド
111  不明グリッド
115  第1走査領域
117  第2走査領域
131  走査線
132  原点
133  検出グリッド
134  中間グリッド
135  中間グリッド
136  中間グリッド
137  中間グリッド
138  中間グリッド
139  不明グリッド
901  走行経路
911  第1通過点
912  第2通過点
913  第3通過点
914  第4通過点
915  第5通過点
921  ローカルマップ
922  ローカルマップ
923  ローカルマップ
924  ローカルマップ
925  ローカルマップ

Claims (15)

  1.  本体と、前記本体に搭載され前記本体の周囲の物体を検出する検出部と、制御量が入力される複数のアクチュエータを有し前記本体を移動させる走行部と、を有する自律移動体に用いられる移動制御装置であって、
     走行命令に基づいて前記アクチュエータに入力する制御量を生成する走行制御部と、
     所定の制御周期毎に、前記本体の周辺領域における障害物の位置情報を前記検出部から取得する障害物情報取得部と、
     前記障害物の位置情報に基づいて、前記本体の周辺領域における障害物の有無を示す局所地図を作成する地図作成部と、
     前記局所地図が所定の条件を満たした場合に、前記走行制御部に強制停止の走行命令を出力する走行命令生成部と、
    を備える自律移動体の移動制御装置。
  2.  前記周辺領域内に障害物が存在する割合が所定値以下である前記局所地図が所定の走行距離又は所定の走行時間連続する場合に、前記走行命令生成部は前記局所地図が所定の条件を満たしたと判断する、請求項1に記載の自律移動体の移動制御装置。
  3.  前記周辺領域内に存在する障害物が形状変化の小さい単純形状である前記局所地図が所定の走行距離又は所定の走行時間連続する場合に、前記走行命令生成部は前記局所地図が所定の条件を満たしたと判断する、請求項1又は2に記載の自律移動体の移動制御装置。
  4.  周囲環境の環境地図を記憶する記憶部と、
     前記環境地図の上における自己位置を推定する自己位置推定部と、
    をさらに備え、
     前記走行命令生成部は、前記自己位置推定部により推定された自己位置周辺の環境地図と、前記局所地図とを比較し、所定の割合を超えて相違する状態が、所定の走行距離又は所定の走行時間連続する場合に、所定の条件を満たしたと判断する、請求項1~3のいずれかに記載の自律移動体の移動制御装置。
  5.  走行開始前に前記地図作成部により作成された局所地図において、前記周辺領域内に障害物が存在する割合が所定値以下である場合、前記周辺領域内に存在する障害物が形状変化の小さい単純形状である場合、又は自己位置周辺の環境地図と所定の割合を超えて相違する場合に、前記走行命令生成部は、前記局所地図が所定の条件を満たしたと判断する、請求項4に記載の自律移動体の移動制御装置。
  6.  操作者の手動操作により走行開始位置から走行終了位置まで手動走行させながら、通過時刻と前記通過時刻における通過点データの集合でない走行スケジュールを作成する教示走行モードと、前記走行スケジュールを再現しながら、前記走行開始位置から前記走行終了位置まで自律的に走行する再現走行モードとを実行可能となっており、
     前記走行命令生成部は、前記教示走行モードにおいて前記局所地図が所定の条件を満たすか否かを判別する、請求項5に記載の自律移動体の移動制御装置。
  7.  前記走行命令生成部は、前記再現走行モードにおいて前記局所地図が所定の条件を満たすか否かを判別する、請求項6に記載の自律移動体の移動制御装置。
  8.  本体と、
     前記本体に搭載され前記本体の周囲の物体を検出する検出部と、
     制御量が入力される複数のアクチュエータを有し、前記本体を移動させる走行部と、
     請求項1~7のいずれかに記載の移動制御装置と、
    を備えた自律移動体。
  9.  本体と、前記本体に搭載され前記本体の周囲の物体を検出する検出部と、制御量が入力される複数のアクチュエータを有し前記本体を移動させる走行部と、を有する自律移動体に用いられる移動制御方法であって、
     走行命令に基づいて前記アクチュエータに入力する制御量を生成するステップと、
     所定の制御周期毎に、周囲に存在する障害物の位置情報を前記検出部から取得するステップと、
     前記障害物の位置情報に基づいて、前記本体の周辺領域における障害物の有無を示す局所地図を作成するステップと、
     前記局所地図が所定の条件を満たした場合に、前記走行制御部に強制停止の走行命令を出力するステップと、
    を備える自律移動体の移動制御方法。
  10.  前記周辺領域の内に障害物が存在する割合が所定値以下であるような前記局所地図が所定の走行距離又は所定の走行時間連続する場合に、前記走行命令を生成するステップは前記局所地図が所定の条件を満たしたと判断する、請求項9に記載の自律移動体の移動制御方法。
  11.  前記周辺領域内に存在する障害物が形状変化の小さい単純形状であるような前記局所地図が所定の走行距離又は所定の走行時間連続する場合に、前記走行命令を生成するステップは前記局所地図が所定の条件を満たしたと判断する、請求項9又は10に記載の自律移動体の移動制御方法。
  12.  前記自律移動体は、周囲環境の環境地図を記憶する記憶部を有し、
     前記環境地図の上における自己位置を推定するステップをさらに備え、
     前記走行命令を精製するステップは、前記自己位置をすいているステップにより推定された自己位置周辺の環境地図と、前記局所地図とを比較し、所定の割合を超えて相違する状態が、所定の走行距離又は所定の走行時間連続する場合に、所定の条件を満たしたと判断する、請求項9~11のいずれかに記載の自律移動体の移動制御方法。
  13.  走行開始前に前記地図作成部により作成された局所地図において、前記周辺領域内に障害物が存在する割合が所定値以下である場合、前記周辺領域内に存在する障害物が形状変化の小さい単純形状である場合、又は自己位置周辺の環境地図と所定の割合を超えて相違する場合に、前記走行命令を生成するステップは、前記局所地図が所定の条件を満たしたと判断する、請求項12に記載の自律移動体の移動制御方法。
  14.  操作者の手動操作により走行開始位置から走行終了位置まで手動走行させながら、通過時刻と前記通過時刻における通過点データの集合でない走行スケジュールを作成する教示走行モードと、前記走行スケジュールを再現しながら、前記走行開始位置から前記走行終了位置まで自律的に走行する再現走行モードとを実行し、
     前記走行命令を生成するステップは、前記教示走行モードにおいて前記局所地図が所定の条件を満たすか否かを判別する、請求項13に記載の自律移動体の移動制御方法。
  15.  前記走行命令を生成するステップは、前記再現走行モードにおいて前記局所地図が所定の条件を満たすか否かを判別する、請求項14に記載の自律移動体の移動制御方法。
PCT/JP2014/060500 2013-05-01 2014-04-11 自律移動体の移動制御装置、自律移動体及び移動制御方法 WO2014178273A1 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2013-096339 2013-05-01
JP2013096339A JP6052045B2 (ja) 2013-05-01 2013-05-01 自律移動体

Publications (1)

Publication Number Publication Date
WO2014178273A1 true WO2014178273A1 (ja) 2014-11-06

Family

ID=51843408

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2014/060500 WO2014178273A1 (ja) 2013-05-01 2014-04-11 自律移動体の移動制御装置、自律移動体及び移動制御方法

Country Status (2)

Country Link
JP (1) JP6052045B2 (ja)
WO (1) WO2014178273A1 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109746919A (zh) * 2019-03-04 2019-05-14 上海木木聚枞机器人科技有限公司 一种机器人动态冲突检测的优化调度方法及系统
CN111309031A (zh) * 2020-03-26 2020-06-19 上海有个机器人有限公司 机器人及其障碍检测方法和障碍检测系统
CN111435243A (zh) * 2018-12-26 2020-07-21 珠海市一微半导体有限公司 扫地机器人空间地图生成方法、装置及扫地机器人
CN111481109A (zh) * 2019-01-28 2020-08-04 北京奇虎科技有限公司 基于扫地机的地图噪点消除方法及装置
CN112947472A (zh) * 2021-03-19 2021-06-11 北京小狗吸尘器集团股份有限公司 栅格地图实时构建方法、装置、可读介质及扫地机器人
US11402215B2 (en) * 2018-12-31 2022-08-02 Twinny Co., Ltd. Indoor positioning method for a moving apparatus using first and second two-dimensional maps of z-axis areas
US20220300748A1 (en) * 2021-03-16 2022-09-22 Toyota Research Institute, Inc. System and method for tracking occluded objects

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017029982A1 (ja) * 2015-08-14 2017-02-23 ソニー株式会社 移動体、情報処理装置、移動体システム、情報処理方法および情報処理プログラム
KR101962855B1 (ko) * 2016-12-30 2019-03-27 부산대학교 산학협력단 중복 그리드 기법을 이용한 실내 지도 생성 장치 및 방법
JP6640779B2 (ja) * 2017-03-21 2020-02-05 株式会社東芝 自律移動装置及び移動制御システム
WO2019026761A1 (ja) * 2017-08-03 2019-02-07 日本電産シンポ株式会社 移動体およびコンピュータプログラム
JP2022013117A (ja) * 2020-07-03 2022-01-18 オムロン株式会社 経路策定システム、移動ロボット、経路策定プログラムおよび移動ロボットの制御プログラム

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004005593A (ja) * 2002-04-17 2004-01-08 Matsushita Electric Works Ltd 自律移動装置
JP2005242409A (ja) * 2004-02-24 2005-09-08 Matsushita Electric Works Ltd 自律移動ロボットシステム
JP2010061484A (ja) * 2008-09-05 2010-03-18 Hitachi Industrial Equipment Systems Co Ltd 移動体および移動体の位置推定誤り状態からの復帰方法
JP2011039968A (ja) * 2009-08-18 2011-02-24 Mitsubishi Electric Corp 車両可動領域検出装置
JP2012128781A (ja) * 2010-12-17 2012-07-05 Toyota Motor Corp 移動体
JP2013025351A (ja) * 2011-07-15 2013-02-04 Hitachi Industrial Equipment Systems Co Ltd 位置・姿勢推定可能な移動体システム及び自律移動ロボットシステム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004362022A (ja) * 2003-06-02 2004-12-24 Toyota Motor Corp 移動体

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004005593A (ja) * 2002-04-17 2004-01-08 Matsushita Electric Works Ltd 自律移動装置
JP2005242409A (ja) * 2004-02-24 2005-09-08 Matsushita Electric Works Ltd 自律移動ロボットシステム
JP2010061484A (ja) * 2008-09-05 2010-03-18 Hitachi Industrial Equipment Systems Co Ltd 移動体および移動体の位置推定誤り状態からの復帰方法
JP2011039968A (ja) * 2009-08-18 2011-02-24 Mitsubishi Electric Corp 車両可動領域検出装置
JP2012128781A (ja) * 2010-12-17 2012-07-05 Toyota Motor Corp 移動体
JP2013025351A (ja) * 2011-07-15 2013-02-04 Hitachi Industrial Equipment Systems Co Ltd 位置・姿勢推定可能な移動体システム及び自律移動ロボットシステム

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111435243A (zh) * 2018-12-26 2020-07-21 珠海市一微半导体有限公司 扫地机器人空间地图生成方法、装置及扫地机器人
CN111435243B (zh) * 2018-12-26 2023-05-05 珠海一微半导体股份有限公司 扫地机器人空间地图生成方法、装置及扫地机器人
US11402215B2 (en) * 2018-12-31 2022-08-02 Twinny Co., Ltd. Indoor positioning method for a moving apparatus using first and second two-dimensional maps of z-axis areas
CN111481109A (zh) * 2019-01-28 2020-08-04 北京奇虎科技有限公司 基于扫地机的地图噪点消除方法及装置
CN111481109B (zh) * 2019-01-28 2022-08-26 北京奇虎科技有限公司 基于扫地机的地图噪点消除方法及装置
CN109746919A (zh) * 2019-03-04 2019-05-14 上海木木聚枞机器人科技有限公司 一种机器人动态冲突检测的优化调度方法及系统
CN111309031A (zh) * 2020-03-26 2020-06-19 上海有个机器人有限公司 机器人及其障碍检测方法和障碍检测系统
CN111309031B (zh) * 2020-03-26 2023-09-08 上海有个机器人有限公司 机器人及其障碍检测方法和障碍检测系统
US20220300748A1 (en) * 2021-03-16 2022-09-22 Toyota Research Institute, Inc. System and method for tracking occluded objects
US11625905B2 (en) * 2021-03-16 2023-04-11 Toyota Research Institute, Inc. System and method for tracking occluded objects
CN112947472A (zh) * 2021-03-19 2021-06-11 北京小狗吸尘器集团股份有限公司 栅格地图实时构建方法、装置、可读介质及扫地机器人

Also Published As

Publication number Publication date
JP6052045B2 (ja) 2016-12-27
JP2014219722A (ja) 2014-11-20

Similar Documents

Publication Publication Date Title
JP6052045B2 (ja) 自律移動体
JP6136543B2 (ja) 自律移動体
JP6079415B2 (ja) 自律移動体
JP5157803B2 (ja) 自律移動装置
JP6867120B2 (ja) 地図作成方法及び地図作成装置
KR20190029524A (ko) 경로를 자율주행하도록 로봇을 훈련시키기 위한 시스템 및 방법
WO2011074165A1 (ja) 自律移動装置
JP2009031884A (ja) 自律移動体、自律移動体におけるマップ情報作成方法および自律移動体における移動経路特定方法
JP6481347B2 (ja) 移動量推定装置、自律移動体、及び移動量の推定方法
JP5276931B2 (ja) 移動体および移動体の位置推定誤り状態からの復帰方法
KR20170088228A (ko) 다중로봇의 자기위치인식에 기반한 지도작성 시스템 및 그 방법
JP2009205226A (ja) 自律移動ロボット、自己位置推定方法、環境地図の生成方法、環境地図の生成装置、及び環境地図のデータ構造
WO2016063553A1 (ja) 自律移動体及び自律移動体システム
JP2018206004A (ja) 自律走行台車の走行制御装置、自律走行台車
JP5902275B1 (ja) 自律移動装置
JP2009223757A (ja) 自律移動体、その制御システム、自己位置推定方法
JP2005332204A (ja) 移動制御装置、環境認識装置及び移動体制御用プログラム
US20160231744A1 (en) Mobile body
JP2007249631A (ja) 折線追従移動ロボットおよび折線追従移動ロボットの制御方法
JP2009176031A (ja) 自律移動体,自律移動体制御システムおよび自律移動体の自己位置推定方法
WO2016158683A1 (ja) 地図作成装置、自律走行体、自律走行体システム、携帯端末、地図作成方法、地図作成プログラム及びコンピュータ読み取り可能な記録媒体
JP2020024618A (ja) 移動経路取得方法、及び、移動経路取得装置
JP6406894B2 (ja) 環境地図生成制御装置、移動体、及び環境地図生成方法
JP2021114222A (ja) ロボットシステムおよびその位置推定方法
JP2023155919A (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: 14792067

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14792067

Country of ref document: EP

Kind code of ref document: A1