Information processor and movable body apparatus

According to one embodiment, an information processor includes a memory and processing circuitry. The circuitry receives area information indicating a second area in a first area around a movable body apparatus and third areas in the first area, wherein the movable body apparatus is movable in the second area and an object is present in each of the third areas. The circuitry receives movement information including at least one of a velocity, a movement direction or an acceleration of the apparatus. The circuitry acquires evaluation values each indicative of a damage to be caused when the apparatus collides with each object in the third areas, and determines, based on the evaluation values, a position corresponding to a first object which causes a least damage.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is based upon and claims the benefit of priority from Japanese Patent Application No. 2016-106120, filed May 27, 2016, the entire contents of which are incorporated herein by reference.

FIELD

Embodiments described herein relate generally to an information processor and a movable body apparatus for reducing damage from collision.

BACKGROUND

Recent years have seen the development of technologies for calculating a traveling route for emergency by a driver assistance system or an autonomous driving function when an imminent collision is recognized for the self vehicle.

The technologies allow avoidance or reduction of human injury or product damage by determining the traveling route for emergency in consideration of the track of each object different from the self vehicle.

However, the traveling route for emergency is determined without considering the presence or absence of any route toward each object other than the self vehicle, or the moving velocity of each object other than the self vehicle. Thus, the damage to be caused to the self vehicle or other objects cannot be sufficiently evaluated.

DETAILED DESCRIPTION

In general, according to one embodiment, an information processor includes a memory and processing circuitry. The processing circuitry receives area information indicating a second area in a first area around a movable body apparatus and third areas in the first area. The movable body apparatus is movable in the second area. The object is present in each of the third areas. The processing circuitry receives movement information comprising at least one of a velocity, a movement direction or an acceleration of the movable body apparatus. The processing circuitry acquires evaluation values each indicative of a damage to be caused when the movable body apparatus collides with each object in the third areas. The processing circuitry determines, based on the evaluation values, a position corresponding to a first object which causes a least damage.

First Embodiment

With reference toFIG. 1, this specification explains the system configuration of a movable body apparatus10connected to an information processor1according to a first embodiment. The movable body apparatus10may be realized as a movable robot (autonomous movable apparatus), various types of vehicles or an airplane. The vehicles include, for example, a four-wheel vehicle and a two-wheel vehicle. The airplane is, for example, an unmanned aerial vehicle, a probe vehicle or a drone. In the present embodiment, the movable body apparatus10is assumed to be a robot. The information processor1may be realized as a dedicated purpose or general-purpose computer, or a built-in system incorporated into various types of electronic devices. The information processor1has a function for reducing the damage to be caused by collision between the movable body apparatus10and another object. The information processor1may be provided either inside or outside the movable body apparatus10. When the information processor1is provided outside the movable body apparatus10, the information processor1realizes the function for reducing the damage to be caused by collision by communicating with the movable body apparatus10. In the following descriptions, this specification assumes that the information processor1is provided inside the movable body apparatus10.

The movable body apparatus10includes the information processor1including processing circuitry11and a memory12, a communication device13, a bus14, a microphone15, a sensor109, a camera110, a distance sensor111, a controller113, a power module114, etc. The processing circuitry11, the memory12, the communication device13, the microphone15, the sensor109, the camera110, the distance sensor111, and the controller113may communicate with each other via the bus14.

The processing circuitry11includes a movement information acquisition function11A, a map generation function11B, a map acquisition function11C, a prediction function11D, a determination function11E, a damage calculation function11F, and a target position setting function11G. These processing functions11A to11G are stored in the memory12as programs executable by a computer. The processing circuitry11is a processor which realizes a function corresponding to each program by reading the program from the memory12and executing the program. In a state where the programs are read, the processing circuitry11includes the above functions11A to11G.FIG. 1shows that processes corresponding to the movement information acquisition function11A, the map generation function11B, the map acquisition function11C, the prediction function11D, the determination function11E, the damage calculation function11F, and the position setting function11G are realized in the processing circuitry11including a single processor. However, the processing circuitry11may be structured by combining multiple independent processors. Thus, each of the functions may be realized when a corresponding processor executes a program. Each processing function may be configured as a program, and the programs may be executed by single processing circuitry. Alternatively, a specific function may be implemented on dedicated independent program execution circuitry.

The movement information acquisition function11A, the map generation function11B, the map acquisition function11C, the prediction function11D, the determination function11E, the damage calculation function11F, and the position setting function11G in the processing circuitry11are examples of a movement information acquisition module101, a map generation module112, a map acquisition module102, a prediction module103, a determination module104, a damage evaluation module105, and a position setting module106, respectively, as described later.

The term “processor” used in the above explanation refers to, for example, a central processing unit (CPU), a graphical processing unit (GPU), an application-specific integrated circuit (ASIC) or a circuit for a programmable logic device. The programmable logic device is, for example, a simple programmable logic device (SPLD), a complex programmable logic device (CPLD) or a field programmable gate array (FPGA). A processor realizes a function by reading and executing a program stored in the memory12. Instead of storing a program in the memory12, the program may be directly incorporated into the circuit of the processor. In this case, the processor realizes a function by reading and executing the program incorporated into the circuit.

The memory12stores data, etc., as needed in connection with each processing function performed by the processing circuitry11. In the present embodiment, the memory12stores, for example, programs, and data obtained by the camera110, the sensor109, the distance sensor111, and the microphone15. For example, the memory12is a semiconductor memory element such as a random access memory (RAM) or a flash memory, a hard disk or an optical disc. Various types of data in the memory12may be stored in a storage device outside the movable body apparatus10. The memory12may be a storage medium which stores or temporarily stores a program transmitted via connection based on various types of communication schemes, such as a wired or wireless local area network (LAN) or 3G/4G mobile communication, from a server (not shown) on a network5. The server on the network5is, for example, a server on the Internet. More than one storage medium may be provided. The present embodiment also includes a case where the above data is stored in multiple mediums. Either structure may be employed.

The controller113controls the power module114structured by a motor, wheels, etc., (not shown) such that the movable body apparatus10goes to the set target position. The controller113controls, for example, the number of revolutions of the motor and/or the direction of the wheels.

The sensor109measures the position and/or the amount of movement of the movable body apparatus10. The sensor109is mounted on, for example, the axis of the wheels connected to the motor as the power module114. The sensor109is, for example, a sensor that measures the number of revolutions of the wheels, a gyro sensor, a GPS receiver, and/or an acceleration sensor. The sensor109outputs movement information related to the movement of the movable body apparatus10. For example, the movement information includes the velocity, the direction of movement and/or the acceleration of the movable body apparatus10. The movement information may further include the inclination of the movable body apparatus10and the number of revolutions of the wheels of the movable body apparatus10.

The camera110generates an image at least including a part of the vicinity of the movable body apparatus10. The image captured by the camera110may be a photograph in a visible light range or a photograph in a wavelength range outside visible light. As an image using a wavelength range outside visible light, for example, an infrared image may be generated. The image generated by the camera110may be a still image or a moving image.

The distance sensor111generates distance data by measuring the distance to an object present around the movable body apparatus10. In the present embodiment, the distance data is data including three-dimensional information. However, the distance data is not limited to this example. When the sensor111performs one-dimensional scanning, the distance data may be two-dimensional data. For the distance sensor111, for example, a laser range finder, a lidar or a milli-meter wave laser is used.

The communication device13is configured to perform wired or wireless communication with another device. The communication device13includes a transmitter which transmits a signal, and a receiver which receives a signal. The microphone15obtains sound around the movable body apparatus10and outputs an audio signal corresponding to the obtained sound.

With reference toFIG. 2, this specification explains an example of the functional configuration of the information processor1. The information processor1includes the movement information acquisition module101, the map acquisition module102, the prediction module103, the determination module104, the damage evaluation module105, and the position setting module106. These modules101to106may be realized as functional configuration of programs executed by the processing circuitry11. The movable body apparatus10includes the sensor109, the camera110, the distance sensor111and, the map generation module112for inputting information related to the environment around the movable body apparatus10to the information processor1.

The movement information acquisition module101obtains (receives) movement information related to the movement of the movable body apparatus10from the sensor109. The movement information includes, regarding the movable body apparatus10, the velocity, the direction of movement, the acceleration, the direction of acceleration, the inclination, the number of revolutions of the wheels, etc. The map acquisition module102obtains (receives), from the map generation module112, map information indicating the movable area and/or the distribution of obstructions around the movable body apparatus10. In the following explanation, the map information is also called area information. The determination module104determines whether the movement state of the movable body apparatus10is abnormal, such as slip or rear-end collision, by using the movement information. Alternatively, the determination module104determines whether there is a possibility of collision with an obstruction, by using map information. The prediction module103predicts map information for a specified time after the current time, using movement information and map information. When the determination module104determines that the movement state of the movable body apparatus10is abnormal, the damage evaluation module105calculates, by using movement information, a damage evaluation value for each obstruction extracted from the current map information or the predicted map information for the specified time after the current time with regard to collision with the obstruction. The damage evaluation module105calculates the target position indicating the least damage evaluation value. The position setting module106transmits the target position to the controller113.

Moreover, the information processor1calculates a damage evaluation value in the damage evaluation module105and records the damage caused by movement by communicating with a damage record database60provided inside or outside the movable body apparatus10. The damage record database60includes a damage result processing module107which obtains (receives) damage information generated as a result of movement, and a damage result recording module108which is a storage medium for recoding the result of movement and the result of damage.

FIG. 3shows an example of the external appearance of the movable body apparatus10. In the example ofFIG. 3, the movable body apparatus10is realized as a movable robot. For example, the camera110, the sensor109and the distance sensor111are provided at positions exposed from the surface of the movable body apparatus10to obtain the information around the movable body apparatus10. The power module114for moving the movable body apparatus10including a motor and wheels (not shown) is provided in the lower part of the movable body apparatus10. When the wheels in contact with the road surface or floor surface rotate, and the direction of the wheels is controlled, the movable body apparatus10is capable of moving in an arbitrary direction.

The map generation module112provided in the movable body apparatus10may be realized as processing circuitry which generates map information related to the environment around the movable body apparatus10based on the information obtained by the camera110and the distance sensor111. The map generation module112may be provided inside the information processor1.

The flowchart ofFIG. 4shows an example of the procedure of a process executed by the processing circuitry11. For the sake of convenience, the flowchart includes the procedure of a process executed by the movable body apparatus10.

The camera110and the distance sensor111provided in the movable body apparatus10obtain information around the movable body apparatus10(step S201). The camera110generates an image in which the vicinity of the movable body apparatus10is captured. The distance sensor111generates distance data indicating the measured distance to various objects present around the movable body apparatus10.

Subsequently, the map generation module112of the movable body apparatus10generates map information based on the information around the movable body apparatus10obtained by the camera110and the distance sensor111(step S202). The map information may be generated by the processing circuitry11.

The movement information acquisition module101of the information processor1obtains movement information from the sensor109of the movable body apparatus10(step S203). The map acquisition module102obtains map information from the map generation module112(step S204).

Subsequently, the determination module104determines whether the movement state of the movable body apparatus10is abnormal, by using the obtained movement information and map information (step S205). The determination module104may determine whether the movement state of the movable body apparatus10is abnormal, by using only the movement information. For example, the determination module104detects an abnormal movement state of the movable body apparatus10caused by slip or rear-end collision, by using the movement information. Alternatively, the determination module104determines whether there is a possibility that the movable body apparatus10collides with any object around the movable body apparatus10, by additionally using the map information.

When the determination module104determines that the movement state of the movable body apparatus10is not abnormal (No in step S206), in other words, when the determination module104determines that the movement state of the movable body apparatus10is normal, the information processor1terminates the process.

When the determination module104determines that the movement state of the movable body apparatus10is abnormal (Yes in step S206), the prediction module103predicts map information for a first time after the current time (step S207). The first time may be a predetermined time such as several seconds, or a predicted time until collision based on the moving velocity of the movable body apparatus10and the moving velocity of each obstruction. The damage evaluation module105calculates a damage evaluation value for each obstruction extracted from the predicted map information by using movement information when the movable body apparatus10collides with the obstruction, and calculates the target position indicating the least damage evaluation value (step S208). For example, the damage evaluation module105sets a position corresponding to an obstruction in which the calculated damage evaluation value is the least as the target position for the movement of the movable body apparatus10. The position setting module106outputs the target position to the movable body apparatus10(step S209).

The movable body apparatus10moves to the target position output by the position setting module106(step S210).

When the movable body apparatus10reaches the target position and collides with the obstruction located at the target position, the damage result processing module107of the damage result record database60records, in the damage result recording module108, the target position, the obstruction located at the target position, and the result of damage caused by the collision to the movable body apparatus10and the obstruction (step S211), and terminates the process. All the above information may not be recorded in the damage result recording module108.

For example, the order of steps S203and S204is not limited to that in the flowchart ofFIG. 4.

Now, this specification explains the details of the operation of each module of the information processor1.

The movement information acquisition module101obtains the movement information output by the sensor109. As described above, the movement information includes, for example, the velocity, the direction of movement and/or the acceleration of the movable body apparatus10. The movement information may further include the inclination of the movable body apparatus10, the number of revolutions of the wheels included in the power module114of the movable body apparatus10, etc.

The map generation module112generates map information related to the environment around the movable body apparatus10, by using the image generated by the camera110and the distance data generated by the distance sensor111.

Now, this specification explains an example in which map information is generated, referring toFIG. 5toFIG. 7.FIG. 5shows an image31captured by the camera110when the movable body apparatus10moves in a room. The image31includes objects311to318, for example, a television311, a sofa314, a table315, a wall317, and a floor318.

The map generation module112is capable of generating map information, using a technology for identifying each object in images, such as semantic segmentation. Semantic segmentation is a technology for using the image31captured by the camera110as input and identifying what each object in the image is based on the dictionary data obtained by learning. When the camera110captures the inside of a room, the identification categories include, for example, a floor, a carpet, a tatami mat, a wall, a chair, a desk, a window, a door, a human, a cat, and a dog. When the camera110captures the outside of a building, the identification categories include, for example, a roadway, a footway, a tree, a building, a vehicle, and a human. The dictionary data for identification is retained in the map generation module112in advance.

FIG. 6shows a result of identification32in which the objects311to318in the image31are identified. The result of identification32shows areas321to328. The areas321to328are identified using semantic segmentation by the map generation module112, and correspond to the objects311to318, respectively. When the result of identification32is used, it is possible to determine to which object a pixel on the image31corresponds. The map generation module112is also capable of determining whether an area corresponding to each of the identified objects is a movable area in which the movable body apparatus10is movable or an area of an obstruction to the movement of the movable body apparatus10. For example, the area identified by the result of identification32as a floor, a carpet, a tatami mat, or a roadway may be a movable area. Of the identified objects311to318, the map generation module112determines the area328corresponding to the floor318as a movable area, and determines the areas321to327corresponding to the other objects311to317as the areas of obstructions. The method for identifying each object on the image is not limited to semantic segmentation. Each object on the image may be identified in various ways.

Subsequently, the map generation module112generates a three-dimensional map regarding the objects present around the movable body apparatus10by combining the result of identification32and the distance data obtained by the distance sensor111. The map generation module112is capable of combining the result of identification32and the distance data by, for example, obtaining the correspondence relationship between the image captured by the camera110and the distance data obtained by the distance sensor111and applying calibration. The generated map includes information for identifying the area of each object as well as information of the distance from the movable body apparatus10to each object in the generated map. The map is equivalent to map information indicating the movable area in which the movable body apparatus10is movable in a specific area around the movable body apparatus10and the area of each object which is an obstruction in the specific area. Thus, when the map information is used, it is possible to determine the movable area and an area corresponding to each obstruction. For example, as shown inFIG. 7, the map generation module112is capable of extracting a three-dimensional map33corresponding to the movable area331from the map information. In a similar manner, the map generation module112is also capable of extracting a three-dimensional map corresponding to the area of each obstruction from the map information.

The map acquisition module102obtains the map information output by the map generation module112. The map information may be generated as needed, or may be generated when the abnormality of the movement state of the movable body apparatus10is detected.

The determination module104determines whether the movement state of the movable body apparatus10is abnormal. Specifically, the determination module104determines abnormality such as slip or rear-end collision, using movement information. For example, the determination module104determines that the movement state of the movable body apparatus10is abnormal based on movement information when the acceleration is greater than or equal to a threshold, or when the change of acceleration does not correspond to that of the number of revolutions of tires, or when the velocity is greater than or equal to a threshold, or when the inclination of the movable body apparatus10is greater than or equal to a threshold, or when the number of revolutions of tires is greater than or equal to a threshold.

Alternatively, the determination module104determines whether there is a possibility that the movable body apparatus10collides with any obstruction, using movement information and map information. For example, the determination module104predicts the position of the movable body apparatus10a certain time after the current time, using movement information. The determination module104determines whether the predicted position is a position where the movable body apparatus10collides with an obstruction, using map information. When there is a possibility that the movable body apparatus10collides with any obstruction, the determination module104determines that the movement state of the movable body apparatus10is abnormal.

The determination module104may determine whether there is a possibility that a moving object around the movable body apparatus10collides with the movable body apparatus10, by using movement information and map information. When the determination module104determines that there is a possibility that the moving object collides with the movable body apparatus10, the determination module104determines that the movement state of the movable body apparatus10is abnormal. For example, this case is equivalent to a case where the obstruction is located near the movable body apparatus10in map information, and further, the direction of movement of the obstruction faces the movable body apparatus10. When the obstruction is located near the movable body apparatus10, for example, the distance from the obstruction to the movable body apparatus10is less than or equal to a threshold distance. For example, the determination module104is capable of using time-series map information items and detecting the position of an obstruction in each map information item. The determination module104is capable of determining whether the obstruction is moving based on the difference in the position between the maps and the movement information of the movable body apparatus10. When the determination module104determines that the obstruction is moving, the determination module104may determine that the obstruction is a moving object such as a human, animal or automobile. When the determination module104determines that the obstruction is not moving, the determination module104may determine that the obstruction is a still object such as a wall, sofa or building. The determination module104may retain in advance information indicating whether each object is a moving object or a still object. The determination module104is also capable of calculating the moving velocity or the direction of movement of the obstruction. Thus, when the determination module104determines that an obstruction is moving, the determination module104is capable of determining whether there is a possibility that the moving obstruction collides with the movable body apparatus10.

The prediction module103predicts map information for the first time after the current time, using movement information and current map information. The prediction module103predicts the movable area in which the movable body apparatus10is movable in a specific area around the movable body apparatus10and areas in which obstructions are present in the specific area the first time after the current time, using movement information and current map information. The predicted map information indicates the position of each obstruction included in the current map information with respect to the movable body apparatus10at a future time based on the movement information of the movable body apparatus10. When an obstruction included in the map information is a moving object such as a human, the prediction module103predicts the position of the obstruction as a moving object at a future time, using the moving velocity of the obstruction. The prediction module103outputs the map information obtained from the above prediction to the damage evaluation module105.

The prediction module103may not be provided in the information processor1. In this case, the map information received by the map acquisition module102is straightly output to the damage evaluation module105. The map information to be used by the damage evaluation module105may be the current map information received by the map acquisition module102, or may be the map information for the first time later predicted by the prediction module103.

When the movement state of the movable body apparatus10is abnormal, the damage evaluation module105determines whether a movement path for allowing the movable body apparatus10to reach each of obstructions is present, using movement information and map information. The damage evaluation module105obtains an evaluation value indicating the damage to be caused when the movable body apparatus10collides with each obstruction having a movement path. The damage evaluation module105determines a position corresponding to the object indicating the least damage as the target position for the movement of the movable body apparatus10based on the obtained evaluation values.

More specifically, when the determination module104determines that the movement state of the movable body apparatus10is abnormal, the damage evaluation module105determines whether there is a movement path for allowing the movable body apparatus10to reach each of the obstructions indicated in map information, using movement information and map information. In other words, the damage evaluation module105determines whether the movable body apparatus10can reach each of the obstructions indicated in map information. When the entire path for the movable body apparatus10to an obstruction is included in the movable area, the movable body apparatus10can reach the obstruction. When at least a part of the path for the movable body apparatus10to an obstruction is included in an area corresponding to any obstruction, the movable body apparatus10cannot reach the obstruction.

Subsequently, the damage evaluation module105calculates an evaluation value indicating the damage to be caused when the movable body apparatus10collides with each object having a movement path. The damage evaluation module105determines a position corresponding to the obstruction in which the calculated evaluation value is the least as the target position for the movement of the movable body apparatus10.

More specifically, the damage evaluation module105reads in advance the damage evaluation table shown inFIG. 8from the damage result recording module108of the damage record database60. The damage evaluation table recorded by the damage result recording module108includes entries corresponding to obstructions. Each entry includes, for example, an ID, a type, a score of a damage caused to an obstruction, and a score of a damage caused to the movable body apparatus10. In an entry corresponding to an obstruction, the ID indicates the identification information given to the obstruction. The type indicates the type of the obstruction. For example, the type is set to the category as a result of identification for the object as an obstruction. The score of the damage caused to the obstruction indicates the extent of the damage to be caused to the obstruction when the movable body apparatus10collides with the obstruction. When the obstruction is easily destroyed by collision, the score of the damage caused to the obstruction is set so as to be high. When the obstruction is difficult to destroy even at the time of collision, the score of the damage caused to the obstruction is set so as to be low. When the obstruction is a living thing such as a human, the score of the damage caused to the obstruction may be set to a value indicating that the movable body apparatus10must not collide with the obstruction. The score of the damage caused to the movable body apparatus10indicates the extent of the damage to be caused to the movable body apparatus10when the movable body apparatus10collides with the obstruction. When the movable body apparatus10is easily damaged by the collision with the obstruction, the score of the damage caused to the movable body apparatus10is set so as to be high. When the movable body apparatus10is difficult to damage, the score of the damage caused to the movable body apparatus10is set so as to be low. No ID may be included in each entry such that the entry is identified only based on the type of the obstruction.

Even when the types of obstructions are the same, the score of the damage caused to the obstruction or the score of the damage caused to the movable body apparatus10may differ depending on the environment of the movable body apparatus10. Alternatively, entries corresponding to obstructions which are of the same type may be included in the damage evaluation table such that the score of the damage caused to the obstruction or the score of the damage caused to the movable body apparatus10differs depending on the entry. For example, when two obstructions are of the same type “sofa”, the score of the damage caused to the expensive sofa may be set so as to be high, and the score of the damage caused to the cheap sofa may be set so as to be low.

As described above, the damage evaluation module105determines whether there is a movement path for allowing the movable body apparatus10to reach each of the obstructions indicated in map information, using the map information. In other words, the damage evaluation module105determines whether the movable body apparatus10can reach each of the obstructions indicated in map information.

The damage evaluation module105calculates the score of the damage caused to each reachable obstruction and the score of the damage caused to the movable body apparatus10for each reachable obstruction. The damage evaluation module105obtains the score of the damage caused to the obstruction and the score of the damage caused to the movable body apparatus10for the obstruction by extracting an entry corresponding to each reachable obstruction as shown inFIG. 8from the damage evaluation table read from the damage result recording module108. The damage evaluation table shown inFIG. 8includes entries corresponding to, of the obstructions indicated in map information, obstructions each having a movement path through which the movable body apparatus10can reach the obstruction.

The damage evaluation module105selects the obstruction indicating that the damage to be caused when the movable body apparatus10collides with the obstruction is the least from the reachable obstructions based on the obtained scores of the damage caused to the obstructions and the obtained scores of the damage caused to the movable body apparatus10. The damage evaluation module105sets a position corresponding to the selected obstruction as the target position for the movement of the movable body apparatus10. For example, the damage evaluation module105calculates a position corresponding to the obstruction having the least score of the damage caused to the obstruction and a less score of the damage caused to the movable body apparatus10as the target position.

The damage evaluation module105may calculate an evaluation value based on the score of the damage caused to an obstruction and the score of the damage caused to the movable body apparatus10for the obstruction. The evaluation value is calculated by performing weighted adding with the score of the damage caused to the obstruction and the score of the damage caused to the movable body apparatus10. The greater the evaluation value is, the greater the damage caused by the collision with the obstruction is. The less the evaluation value is, the less the damage caused by the collision with the obstruction is. The damage evaluation module105may calculate an evaluation value, using the velocity of the movable body apparatus10and the velocity of each obstruction. In this case, for example, the damage evaluation module105calculates a greater evaluation value with increasing velocity of collision between the movable body apparatus10and the obstruction. The damage evaluation module105determines, based on the evaluation values, a position corresponding to the obstruction indicating the least damage as the target position for the movement of the movable body apparatus10.

The position setting module106transmits the target position determined by the damage evaluation module105to the controller113.

The controller113controls the power module114such that the movable body apparatus10goes to the target position. For example, the controller113controls the number of revolutions of the motor and the direction of the wheels.

FIG. 9shows an example in which the movable body apparatus10is controlled so as to move to the target position when the movement state of the movable body apparatus10is abnormal as a result of determination. The damage evaluation module105obtains an evaluation value indicating the damage to be caused by the collision between the movable body apparatus10and each of a sofa, a television, a wall and a fireplace having a movement path as shown inFIG. 8when the movement state is abnormal, for example, when a human runs into the movable body apparatus10. As the evaluation value indicating the damage, one of the score of the damage caused to each obstruction and the score of the damage caused to the movable body apparatus10may be used, or both of them may be used. The damage evaluation module105calculates a position corresponding to the sofa indicating the least damage as the target position based on the obtained evaluation values. For example, the damage evaluation module105determines that movement corresponding to the obstruction indicating the least score of the damage caused to the obstruction and a less score of the damage caused to the movable body apparatus10will cause the least damage. The position setting module106outputs the calculated target position to the controller113. The controller113controls the power module114such that the movable body apparatus10goes to the sofa located at the target position as shown inFIG. 9.

In the above manner, when the movement state is abnormal, the movable body apparatus10can be caused to move to a position which reduces the damage caused to the movable body apparatus10and other objects.

After the movable body apparatus10moves to the target position, the determination module104detects the collision with the obstruction. When the determination module104determines that the movable body apparatus10collides with the obstruction, the movable body apparatus10transitions to a damage reception state for recording the damage caused by the collision in the damage record database60.

When one of the following conditions is met, or when multiple conditions of the following conditions are simultaneously met, or when a value obtained by multiplying the value detected in each condition by weight and adding them exceeds a predetermined threshold, the determination module104may determine that the movable body apparatus10collides with the obstruction.

In a first condition, by using the movement information obtained by the sensor109, when the change of the acceleration of the movable body apparatus10is greater than or equal to a threshold, or when a loud impact noise is detected through the microphone15, the movable body apparatus10is assumed to be subject to impact. In this case, the determination module104determines that the movable body apparatus10collides with the obstruction. In other words, the determination module104determines that the audio signal output by the microphone15corresponds to a loud impact noise.

In a second condition, by using the movement information obtained by the sensor109, when the movable body apparatus10is located outside the movable area on map information at a past time, the determination module104determines that the movable body apparatus10collides with the obstruction, or that there is a possibility that the movable body apparatus10collides with the obstruction.

In a third condition, when the revolution of the wheels of the power module114is not detected by the sensor109although the controller113controls the power module114so as to move the movable body apparatus10, the determination module104determines that the movable body apparatus10collides with the obstruction.

In a fourth condition, when the change of the position of the obstruction which is close to the movable body apparatus10on map information at a past time and is determined as a still object is detected, the determination module104determines that the movable body apparatus10collides with the obstruction.

In a fifth condition, by using the movement information obtained by the sensor109, when the inclination of the movable body apparatus10calculated based on the acceleration is greater than or equal to a threshold, the movable body apparatus10is assumed to fall down. Thus, the determination module104determines that the movable body apparatus10collides with the obstruction.

When the determination module104determines that the movable body apparatus10collides with the obstruction, the determination module104transmits information related to the damage caused as a result of movement to the damage result processing module107of the damage record database60. For example, the determination module104transmits, to the damage record database60, the target position, an obstruction corresponding to the target position, movement information from the determination of the target position to the arrival at the target position, in other words, to the collision with the obstruction, damage result information indicating the damaged portions of the movable body apparatus10and the extent of the damage, etc. The movement information includes, for example, the velocity, the direction of movement, the acceleration, and/or the inclination. The determination module104may straightly transmit, to the damage record database60, the information obtained at the time of collision and before and after the collision by various sensors provided in the movable body apparatus10, such as the camera110, the sensor109, the distance sensor111and the microphone15. Alternatively, the determination module104may transmit information obtained by analyzing the above various types of information to the damage record database60. The determination module104obtains information indicating the extent of damage by analyzing the information obtained at the time of collision and before and after the collision.

The determination module104may transmit, to the damage record database60, damage-related information input by the administrator, etc., using an input device provided in the movable body apparatus10. The input device may be, for example, a touchscreen display or a keyboard. The administrator can input the result of damage such as the damaged portions of the movable body apparatus10, the extent of the damage, the damaged portions of the obstruction and the extent of the damage, using the input device.

The damage result processing module107of the damage record database60receives the damage-related information transmitted from the determination module104of the movable body apparatus10.

The damage result recording module108records the received information. When the movable body apparatus10collides with an object, the damage result recording module108records information indicating the object and the result of damage caused by the collision.

The damage result processing module107is capable of analyzing the information recorded in the damage result recording module108, and generating a damage evaluation table to be recorded in the damage result recording module108or updating the damage evaluation table. For example, the damage result processing module107is capable of updating the evaluation value included in an entry corresponding to the object in the damage evaluation table by using the accumulated damage-related information of each object. For example, the evaluation value includes the score of the damage caused to the obstruction and the score of the damage caused to the movable body apparatus10explained with reference toFIG. 8. The information processor1using the damage evaluation table is capable of more appropriately determining an object and a target position for allowing the damage to be the least based on the updated damage evaluation table when the movement state of the movable body apparatus10is abnormal.

The function for detecting the collision between the movable body apparatus10and an object and obtaining the result of damage may be realized by a processor different from the determination module104. For example, the damage result processing module107of the damage record database60may detect the collision between the movable body apparatus10and an object based on the movement information or the audio signal obtained on the movable body apparatus10, and obtain the result of damage by data analysis and/or input with an input device. Further, the determination module104or the damage result processing module107may use the devices provided in the building in which the movable body apparatus10is allocated, such as a security camera or a sensor, to obtain the result of damage. For example, the determination module104or the damage result processing module107may obtain the result of damage, using the video obtained by the security camera or data obtained by the sensor.

As explained above, the present embodiment allows the movable body apparatus to move to a position which reduces the damage caused to the movable body apparatus and/or other objects when the movement state is abnormal. The map acquisition module102obtains area information indicating the movable area in which the movable body apparatus10is movable in a specific area around the movable body apparatus10and areas in which objects are present in the specific area. The movement information acquisition module101obtains movement information including the velocity, the direction of movement and/or the acceleration of the movable body apparatus10. When the movement state of the movable body apparatus10is abnormal, and further when the specific area includes areas in which objects are present, the damage evaluation module105determines whether there is a movement path for allowing the movable body apparatus10to reach each of the objects present in the areas, using the movement information and the area information. The damage evaluation module105obtains an evaluation value indicating the damage to be caused when the movable body apparatus10collides with each of the objects having a movement path. The damage evaluation module105determines a position corresponding to the object which allows the damage to be the least as the target position for the movement of the movable body apparatus10based on the evaluation values. In this way, the movable body apparatus10can be caused to move to a position which reduces the damage caused to the movable body apparatus10and/or other objects.

In response to the collision between the movable body apparatus10and each object located at the target position, the damage evaluation information of the object is recorded in the damage record database60. In this way, when the movement state of the movable body apparatus10is abnormal, the information processor1is capable of more appropriately determining the object for allowing the damage to be the least, using the recorded damage evaluation information of each object. When the movable body apparatus10is an industrial movable robot, the robot can avoid colliding with dangerous devices or combustible products provided in a factory, etc. When the movable body apparatus10is a guide movable robot, the robot can avoid colliding with walking customers or arranged products at a store, etc.

Second Embodiment

With reference toFIG. 10, this specification explains the system configuration of a movable body apparatus20connected to an information processor2according to a second embodiment. The movable body apparatus20may be realized as, for example, a vehicle on which people get. In addition to the structures of the movable body apparatus10of the first embodiment, the movable body apparatus20includes a safety device116for protecting passengers. The information processor2includes processing circuitry11. The processing circuitry11includes a safety device control function11H for controlling the safety device116in addition to the functions11A to11G explained in the first embodiment. The safety device116is, for example, a seatbelt or an airbag for protecting the passengers when the movable body apparatus20is subject to collision or impact.

FIG. 11is shown for explaining the functional configuration of the information processor2. The information processor2includes a movement information acquisition module101, a map acquisition module102, a prediction module103, a determination module104, a damage evaluation module105, a position setting module106, and a safety device control module115. These modules101to106and115may be realized as the functional structures of programs executed by the processing circuitry11. The operations of the movement information acquisition module101, the map acquisition module102, the prediction module103, the determination module104, the damage evaluation module105, and the position setting module106are as explained in the first embodiment.

When the damage evaluation module105determines the target position for the movement of the movable body apparatus20, the safety device control module115controls the safety device116. That is, when there is a possibility that the movable body apparatus20collides with any object, the safety device116is controlled. For example, the safety device control module115outputs safety device control information for controlling the operation of the safety device116to the safety device116to protect the passengers.

In this way, the safety device116, such as an airbag or a seatbelt, is controlled when there is a possibility that the movable body apparatus20collides with an obstruction. Thus, it is possible to ensure the safety of the passengers at the time of collision.

The flowchart ofFIG. 12shows an example of the procedure of a process executed by the processing circuitry11. For the sake of convenience, the flowchart includes the procedure of a process executed by the movable body apparatus20. The explanation of the same procedure as the information processor1of the first embodiment is omitted here.

The safety device control module115of the information processor2controls the safety device116(step S212) after the target position for the movement of the movable body apparatus20is output in step S209. After the safety device116is controlled, the movable body apparatus20moves to the target position (step S210). The position setting module106of the information processor2may output the target position to the movable body apparatus20after the safety device116is controlled. Steps S209and S210for controlling the movement of the movable body apparatus20may be executed in parallel to step S212for controlling the safety device116.

Now, this specification explains an example in which map information is generated with reference toFIG. 13toFIG. 15.FIG. 13shows an image51captured by a camera110when the movable body apparatus20moves on a road. The image51includes multiple objects such as roads511and516, other vehicles512and513, a building514, and a grass field515.

As explained in the first embodiment, a map generation module112is capable of generating map information, using a technology for identifying the objects in an image, such as semantic segmentation. In the technology for identifying the objects in an image, what each object in the image is identified based on the dictionary data obtained by learning. When the inside of a room is captured, the identification categories include, for example, a floor, a carpet, a tatami mat, a wall, a chair, a desk, a window, a door, a human, a cat, and a dog. When the outside of a building is captured, the identification categories include, for example, a roadway, a footway, a tree, a building, a vehicle, and a human. The dictionary data for identification is retained in the map generation module112in advance.

FIG. 14shows a result of identification52in which the objects511to516in the image51are identified. The result of identification52shows areas521to526which are identified by the map generation module112using, for example, semantic segmentation and correspond to the objects511to516, respectively. When the result of identification52is used, it is possible to determine to which object a pixel on the image51corresponds. The map generation module112is also capable of determining whether an area corresponding to each of the identified object is a movable area in which the movable body apparatus20is movable or an area of an obstruction to the movement of the movable body apparatus20. In the result of identification52, for example, each area identified as a roadway may be determined as a movable area. For example, the map generation module112determines, of the identified objects511to516, the areas521and526corresponding to the roads511and516as movable areas, and determines the areas522,523,524and525corresponding to the other objects512,513,514and515as the areas of obstructions.

Subsequently, the map generation module112generates a three-dimensional map regarding the objects present around the movable body apparatus20by combining the result of identification52and the three-dimensional data obtained by a distance sensor111. The generated map includes information for identifying the area of each object as well as information indicating the distance from the movable body apparatus20to each object in the generated map. The map further includes map information indicating the movable area in which the movable body apparatus20is movable in a specific area around the movable body apparatus20and areas in which obstructions are present in the specific area. Thus, when the map information is used, it is possible to determine the movable area and an area corresponding to each obstruction. For example, as shown inFIG. 15, the map generation module112is capable of extracting a three-dimensional map53corresponding to a movable area531. In a similar manner, the map generation module112is capable of extracting a three-dimensional map corresponding to the area of each obstruction from the map information.

FIG. 16shows an example in which the movable body apparatus20is controlled so as to move to the target position when the movement state of the movable body apparatus20is abnormal as a result of determination. The damage evaluation module105obtains an evaluation value indicating the damage to be caused by the collision between the movable body apparatus20and each of the grass field515, the building514and the vehicles521and513having a movement path in the roads511and516which are the movable area531when the movement state is abnormal. As the evaluation value indicating the damage, one of the score of the damage to be caused to each obstruction and the score of the damage caused to the movable body apparatus20may be used, or both of them may be used. The damage evaluation module105calculates a position corresponding to the grass field515indicating the least damage as the target position based on the obtained evaluation values. For example, the damage evaluation module105determines that movement corresponding to the obstruction indicating the least score of the damage caused to the obstruction and a less score caused to the movable body apparatus20will cause the least damage. The position setting module106outputs the calculated target position to a controller113. The safety device control module115outputs control information to the safety device116in preparation for collision or impact. The controller113controls a power module114such that the movable body apparatus20goes to the grass field515as the target position as shown inFIG. 16.

In the above manner, when the movement state is abnormal, the movable body apparatus20can be caused to move to a position which reduces the damage caused to the movable body apparatus20and/or other objects. Even if the movable body apparatus20deviates from the movable area531, the movable body apparatus20can be caused to evacuate to a safe place which is assumed to reduce the damage, such as the grass field, without colliding with the other vehicles512and513or the building514.

Various functions described in the embodiments may be implemented by processing circuitry. Examples of the processing circuitry include a programmed processor such as a central processing unit (CPU). The processor realizes each of the described functions by executing instructions corresponding to a computer program stored in a memory. The processor may be a microprocessor including an electronic circuit. Examples of the processing circuitry also include a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a microcontroller, a controller, and other electronic circuit components. Each of the components other than the CPU in the above embodiments may be also realized by processing circuitry.

Since each process of the embodiments can be implemented by a computer program, the same advantage as the embodiments can be easily achieved by merely installing the computer program into a computer through a computer-readable storage medium that stores the computer program, and executing the computer program.