Mobile body, control device, obstacle map generation method, and obstacle map generation program
The control device enhances mobile robot safety by using multiple sensors with different detection accuracies to generate an obstacle map, addressing inaccuracies in obstacle detection and improving navigation through refined probability evaluations.
Patent Information
- Application Number
- JP2025541618
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2025-02-05
- Filing Date
- 2025-07-15
- Publication Date
- 2026-01-16
- Estimated Expiration
- 2045-07-15
AI Technical Summary
Existing mobile robots face challenges in generating obstacle maps with sufficient safety due to variations in sensor accuracy, leading to potential inaccuracies in obstacle detection.
A control device and method that utilizes multiple sensors with varying detection accuracies, where a first sensor with high accuracy positively evaluates obstacle presence and a second sensor with lower accuracy maintains or negatively evaluates obstacle presence with a reduced degree, generating an obstacle map that enhances safety by refining detection probabilities.
The approach generates an obstacle map with higher safety by accurately assessing obstacle presence based on sensor detection, improving the mobile robot's navigation and obstacle avoidance capabilities.
Smart Images

Figure 0007801053000001 
Figure 0007801053000002 
Figure 0007801053000003
Abstract
Description
[Technical Field]
[0001] The technology disclosed herein relates to a moving body, a control device, an obstacle map generation method, and an obstacle map generation program. [Background technology]
[0002] Patent Document 1 discloses a mobile robot having a plurality of image sensors. The mobile robot moves based on the location of an object detected by the plurality of image sensors. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2014-195868 Summary of the Invention
[0004] A mobile object uses an obstacle map to avoid obstacles while moving, and using a safer obstacle map improves the safety of the movement of the mobile object.
[0005] The technology disclosed herein has been made in consideration of the above points, and its purpose is to generate an obstacle map with a higher level of safety.
[0006] The mobile body disclosed herein comprises a mobile body main body, a plurality of sensors that detect objects around the mobile body main body, and a control device that generates an obstacle map showing the location of an obstacle by evaluating the presence or absence of an obstacle based on the detection results of the plurality of sensors, the plurality of sensors including a first sensor and a second sensor that has a lower obstacle detection accuracy than the first sensor, and the control device positively evaluates the presence of an obstacle at a position where an obstacle is detected by the first sensor within the detection range of the first sensor, while negatively evaluating the presence of an obstacle at a position where an obstacle is not detected by the first sensor, and positively evaluates the presence of an obstacle at a position where an obstacle is detected by the second sensor within the detection range of the second sensor, while maintaining the evaluation of the presence of an obstacle at a position where an obstacle is not detected by the second sensor, or negatively evaluates the presence of an obstacle at a position where an obstacle is not detected by the second sensor with a degree of negative evaluation that is smaller than the negative evaluation within the detection range of the first sensor.
[0007] The control device disclosed herein is a control device for a mobile body that generates an obstacle map showing the location of an obstacle by evaluating the presence or absence of an obstacle based on the detection results of multiple sensors that detect objects around the mobile body of the mobile body, wherein the multiple sensors include a first sensor and a second sensor that has a lower obstacle detection accuracy than the first sensor, and within the detection range of the first sensor, positively evaluates the presence of an obstacle at a position where an obstacle is detected by the first sensor, while negatively evaluating the presence of an obstacle at a position where an obstacle is not detected by the first sensor, and within the detection range of the second sensor, positively evaluates the presence of an obstacle at a position where an obstacle is detected by the second sensor, while maintaining the evaluation of the presence of an obstacle at a position where an obstacle is not detected by the second sensor, or negatively evaluates the presence of an obstacle at a position where an obstacle is not detected by the second sensor with a degree of negative evaluation that is smaller than the negative evaluation within the detection range of the first sensor.
[0008] The obstacle map generating method disclosed herein includes evaluating the presence or absence of an obstacle based on the detection results of a plurality of sensors that detect objects around the main body of a mobile body, and generating an obstacle map that indicates the position of the obstacle based on the evaluation of the presence or absence of the obstacle, wherein the plurality of sensors include a first sensor and a second sensor that has a lower obstacle detection accuracy than the first sensor, and in generating the obstacle map, the method positively evaluates the presence of an obstacle at a position where an obstacle is detected by the first sensor within the detection range of the first sensor, while negatively evaluating the presence of an obstacle at a position where an obstacle is not detected by the first sensor, and positively evaluates the presence of an obstacle at a position where an obstacle is detected by the second sensor within the detection range of the second sensor, while maintaining the evaluation of the presence of the obstacle at a position where an obstacle is not detected by the second sensor, or negatively evaluates the presence of an obstacle at a position where an obstacle is not detected by the second sensor with a degree of negative evaluation that is smaller than the negative evaluation within the detection range of the first sensor.
[0009] The obstacle generation program disclosed herein is an obstacle map generation program that causes a computer to realize a function of evaluating the presence or absence of an obstacle based on the detection results of multiple sensors that detect objects around the main body of a mobile body, and a function of generating an obstacle map that shows the position of the obstacle based on the evaluation of the presence or absence of the obstacle, wherein the multiple sensors include a first sensor and a second sensor that has a lower obstacle detection accuracy than the first sensor, and the obstacle map generation function positively evaluates the presence of an obstacle at a position where an obstacle is detected by the first sensor within the detection range of the first sensor, while negatively evaluating the presence of an obstacle at a position where an obstacle is not detected by the first sensor, and positively evaluates the presence of an obstacle at a position where an obstacle is detected by the second sensor within the detection range of the second sensor, while maintaining the evaluation of the presence of the obstacle at a position where an obstacle is not detected by the second sensor, or negatively evaluates the presence of an obstacle at a position where an obstacle is not detected by the second sensor with a degree of negative evaluation that is smaller than the negative evaluation within the detection range of the first sensor.
[0010] According to the mobile body, an obstacle map with higher safety can be generated.
[0011] The control device can generate an obstacle map with higher safety.
[0012] According to the method for generating an obstacle map, an obstacle map with higher safety can be generated.
[0013] According to the obstacle map generation program, an obstacle map with a higher level of safety can be generated. [Brief explanation of the drawings]
[0014] [Figure 1] FIG. 1 is a perspective view of a moving object. [Figure 2] FIG. 2 is a schematic diagram showing the detection range of the sensor. [Figure 3] FIG. 3 is a diagram illustrating a hardware configuration of the control device. [Figure 4] FIG. 4 is a conceptual diagram showing a detection map. [Figure 5] FIG. 5 is an explanatory diagram for explaining the detection accuracy of an object. [Figure 6] FIG. 6 is a conceptual diagram showing an obstacle map. [Figure 7] FIG. 7 is a functional block diagram showing the configuration of the control system of the processor. [Figure 8] FIG. 8 is a flowchart of the basic operation of a mobile unit. [Figure 9] FIG. 9 is a flowchart of a method for generating an obstacle map. [Figure 10] FIG. 10 is a conceptual diagram conceptually showing the obstacle map before updating. [Figure 11] FIG. 11 is a flowchart showing an example of a method for changing the obstacle presence probability. [Figure 12] FIG. 12 is an example of an odds correspondence table. [Figure 13] FIG. 13 is a functional block diagram showing the configuration of a control system of a processor according to a modified example. [Figure 14] FIG. 14 is a side view of the mobile body when the robot arm is in the running configuration. [Figure 15] FIG. 15 is a plan view of the mobile body when the robot arm is in the running configuration. DETAILED DESCRIPTION OF THE INVENTION
[0015] Exemplary embodiments will be described in detail below with reference to the drawings. FIG. 1 is a perspective view of a moving body 100. The moving body 100 moves autonomously. The moving body 100 includes a moving body main body 1 and a control device 6 that causes the moving body main body 1 to move autonomously. For example, the moving body 100 moves within a facility such as a store, hospital, or nursing home. In addition to moving, the moving body 100 may also perform tasks such as handing over an item or opening and closing a door.
[0016] For example, the mobile body 1 is a mobile robot that includes a robot arm 12. In detail, the mobile body 1 may have a carriage 10, a base 11 mounted on the carriage 10, and a robot arm 12 connected to the base 11.
[0017] The bogie 10 has a defined front-to-rear direction. In this example, the bogie 10 has a generally rectangular planar shape. For example, the longitudinal direction of the rectangle is the front-to-rear direction. The lateral direction of the rectangle is the left-to-right direction.
[0018] The dolly 10 includes a plurality of wheels 13 and is capable of traveling. In this example, the dolly 10 includes four wheels 13. The dolly 10 may be capable of traveling straight and turning. In this example, the dolly 10 is capable of moving forward, backward, left, right, and diagonally while maintaining its posture, i.e., moving in all directions. In other words, the dolly 10 may be capable of translational movement in directions other than the forward and backward direction. Furthermore, the dolly 10 may also be capable of rotating on the spot. For example, the four wheels 13 include a set of wheels 13 aligned in the left-right direction at the front of the bottom of the dolly 10 and another set of wheels 13 aligned in the left-right direction at the rear of the bottom of the dolly 10. The wheels 13 may be arranged to form a rectangle on the bottom of the dolly 10. More specifically, the four wheels 13 are arranged at the four corners of the bottom of the dolly 10.
[0019] Specifically, the wheel 13 may be an omnidirectional wheel. In this example, the wheel 13 is a Mecanum wheel. The wheel 13 has a plurality of barrel-shaped rollers arranged around the outer periphery of the wheel. For example, the rotation axis of each roller is inclined at 45 degrees relative to the axle of the wheel 13.
[0020] The mobile body 1 may have a motor 13a that drives the wheels 13 and an encoder 13b that detects the amount of rotation of the motor 13a (see FIG. 3). In this example, the mobile body 1 has four sets of motors 13a and encoders 13b corresponding to the four wheels 13. The four wheels 13 may be independently driven by the corresponding motors 13a.
[0021] The cart 10 may be able to move in any direction in two dimensions using these four wheels 13. For example, the cart 10 may translate or turn in any direction, including forward / backward, left / right, and diagonally. The cart 10 may also rotate on the spot.
[0022] The base 11 may be mounted on the cart 10. In this example, the base 11 has a shape that resembles the upper half of a human body. The base 11 may be fixed to the cart 10 so as not to be movable.
[0023] The moving body 1 has two robot arms 12. A hand 14 may be attached to the tip of each robot arm 12.
[0024] The two robot arms 12 are connected to different portions of the base 11. For example, the two robot arms 12 are connected to different portions of the base 11 in the width direction, which is one direction in a plan view. In other words, the width direction is the direction in which the connection portion of one robot arm 12 to the base 11 and the connection portion of the other robot arm 12 to the base 11 are aligned in a plan view. The base 11 may have a front and a back that face opposite each other in a plan view. For example, the front side of the base 11 is the front, and the back side is the rear, defining the front-to-rear direction. The width direction may be a horizontal direction that is perpendicular to the front-to-rear direction. In other words, the width direction is the left-to-right direction relative to the front-to-rear direction. For example, one robot arm 12 is connected to the left side of the base 11, and the other robot arm 12 is connected to the right side of the base 11.
[0025] When the planar shape of the carriage 10 is a substantially rectangular shape having a longitudinal direction and a lateral direction, the width direction substantially coincides with the lateral direction of the planar shape of the carriage 10.
[0026] For example, as shown in FIG. 1, the robot arm 12 has a plurality of links L and a plurality of joints J that connect the links L. The robot arm 12 is configured to operate in three dimensions. In this example, the robot arm 12 is a multi-joint robot arm. That is, the shape of the robot arm 12 may be freely changed by rotating the joints. The robot arm 12 is supported by a base 11.
[0027] For example, the multiple links L include a first link L1, a second link L2, a third link L3, a fourth link L4, a fifth link L5, a sixth link L6, and a seventh link L7, which are arranged in series from the base 11 side. The seventh link L7 is located at the tip of the robot arm 12. For example, the multiple joints J include a first joint J1, a second joint J2, a third joint J3, a fourth joint J4, a fifth joint J5, a sixth joint J6, and a seventh joint J7, which are arranged in series from the base 11 side. The position and orientation of the seventh link L7 have six degrees of freedom, including translational and rotational directions about three orthogonal axes. The robot arm 12 may be a so-called seven-axis robot having seven joints J. In other words, the robot arm 12 has redundancy. Redundancy is a characteristic in which the rotation angles of the multiple joints J corresponding to the position and orientation of the tip of the robot arm 12 are not uniquely determined.
[0028] The base 11 and the first link L1 are rotatably connected by a first joint J1. The first link L1 and the second link L2 are rotatably connected by a second joint J2. The second link L2 and the third link L3 are rotatably connected by a third joint J3. The third link L3 and the fourth link L4 are rotatably connected by a fourth joint J4. The fourth link L4 and the fifth link L5 are rotatably connected by a fifth joint J5. The fifth link L5 and the sixth link L6 are rotatably connected by a sixth joint J6. The sixth link L6 and the seventh link L7 are rotatably connected by a seventh joint J7.
[0029] A hand 14 may be connected to a seventh link L7 at the tip of the robot arm 12. In other words, the hand 14 is connected to the robot arm 12 so as to be rotatable around the rotation axis of the seventh joint J7. The hand 14 is an end effector attached to the robot arm 12.
[0030] In more detail, the multiple joints J may include a joint that functions as a shoulder joint. For example, the multiple joints J include a joint that has the functions of horizontal extension and horizontal flexion in the shoulder joint. The rotation axis of the joint that has the functions of horizontal extension and horizontal flexion in the shoulder joint extends in a substantially vertical direction. The multiple joints J may include a joint that has the functions of extension and flexion in the shoulder joint. The rotation axis of the joint that has the functions of extension and flexion in the shoulder joint extends in a substantially horizontal direction.
[0031] For example, the first joint J1 functions as a shoulder joint of the robot arm 12. The first joint J1 may have the functions of horizontal extension and horizontal flexion at the shoulder joint. The rotation axis of the first joint J1 extends in a substantially vertical direction.
[0032] For example, the second joint J2 functions as a shoulder joint of the robot arm 12. The second joint J2 may have the functions of extension and flexion at the shoulder joint. The rotation axis of the second joint J2 extends in a substantially horizontal direction.
[0033] For example, the third joint J3 functions as a shoulder joint of the robot arm 12. The third joint J3 may have the function of internal rotation and external rotation in a shoulder joint.
[0034] The multiple joints J may include a joint that functions as a wrist joint. For example, the multiple joints J include a joint that has the functions of internal rotation and external rotation or the functions of pronation and supination at the wrist joint. For example, the seventh joint J7 may have the functions of internal rotation and external rotation at the wrist joint. The sixth joint J6 may have the functions of pronation and supination at the wrist joint.
[0035] The multiple joints J may include an intermediate joint between a shoulder joint and a wrist joint. The intermediate joint may also be referred to as an elbow joint. The intermediate joint may have functions of extension and flexion at the intermediate joint, or functions of internal rotation and external rotation at the intermediate joint. The fourth joint J4 may have functions of extension and flexion at the intermediate joint. The fifth joint J5 may have functions of internal rotation and external rotation at the intermediate joint.
[0036] The robot arm 12 has a motor 12a (see FIG. 3) that rotates and drives each joint J. For example, the motor 12a is a servo motor. Each motor 12a has an encoder 12b (see FIG. 3).
[0037] The mobile body 100 may be equipped with multiple sensors 3 that detect objects (hereinafter simply referred to as "peripheral objects") around the mobile body 1. In this disclosure, "objects" includes both inanimate objects and living objects. Each sensor 3 is disposed on the mobile body 1. For example, each sensor 3 is disposed on a dolly 10. In this example, the sensor 3 is a distance measurement sensor that measures the distance from the sensor 3 to the peripheral objects. For example, each sensor 3 is a LiDAR (Light Detection and Ranging) sensor. Each sensor 3 has, for example, a light-emitting unit that emits laser light toward the periphery of the mobile body 1 and a light-receiving unit that receives the laser light reflected off the surface of the peripheral object. Each sensor 3 measures the flight time of the laser light emitted from the light-emitting unit, hitting the surface of the peripheral object, and returning to the light-receiving unit. Each sensor 3 measures the distance from the sensor 3 to the surface of the peripheral object based on the measured flight time. Each sensor 3 may generate point cloud data based on the measured distance. The point cloud data is three-dimensional position information of the surface of the peripheral object. For example, each sensor 3 outputs the calculated point cloud data to the control device 6. The sensor 3 may repeatedly detect surrounding objects at a predetermined detection period while the mobile body 1 is moving. Each time the sensor 3 detects a surrounding object, it may output the detection result of the sensor 3, i.e., point cloud data, to the control device 6.
[0038] FIG. 2 is a schematic diagram showing the detection range of the sensor 3. FIG. 2 is a plan view of the moving body 100, with the robot arm 12 and the like omitted. The multiple sensors 3 may include a front sensor 3A, a first rear sensor 3B, and a second rear sensor 3C. The front sensor 3A is an example of a first sensor. The first rear sensor 3B and the second rear sensor 3C are examples of a second sensor. The front sensor 3A, the first rear sensor 3B, and the second rear sensor 3C are arranged on the carriage 10.
[0039] The front sensor 3A detects objects in an area including at least the front of the mobile body 1. The front sensor 3A may be disposed at the front of the carriage 10. For example, the front sensor 3A is disposed on the carriage 10, forward of the base 11 and approximately in the center in the left-right direction. The front sensor 3A is a three-dimensional sensor that detects objects in three-dimensional space. That is, the front sensor 3A detects objects in the three-dimensional space around the mobile body 1. For example, the front sensor 3A is a 3D LiDAR. The front sensor 3A scans the measurement light in the horizontal and vertical directions. In this example, the front sensor 3A scans the measurement light 360 degrees in the horizontal direction, as shown by the two-dot chain line in FIG. 2. In the vertical direction, the front sensor 3A scans the measurement light within a predetermined range including an elevation angle and a depression angle.
[0040] The first rear sensor 3B and the second rear sensor 3C detect objects in an area including at least the rear of the mobile body 1. The first rear sensor 3B and the second rear sensor 3C may be disposed at the rear of the carriage 10. For example, the first rear sensor 3B and the second rear sensor 3C are disposed on the carriage 10 rearward of the base 11. The first rear sensor 3B is disposed at the left rear corner of the carriage 10, and the second rear sensor 3C is disposed at the right rear corner of the carriage 10. Each of the first rear sensor 3B and the second rear sensor 3C is a two-dimensional sensor that detects objects in a two-dimensional space. That is, each of the first rear sensor 3B and the second rear sensor 3C may detect objects in a two-dimensional space in the horizontal direction around the mobile body 1. For example, the first rear sensor 3B and the second rear sensor 3C are 2D LiDARs. The first rear sensor 3B and the second rear sensor 3C scan measurement light in the horizontal direction.
[0041] Specifically, the first rear sensor 3B and the second rear sensor 3C detect objects in at least a range in the horizontal direction that cannot be detected by the front sensor 3A. The first rear sensor 3B scans the measurement light at least to the left rear of the dolly 10. The second rear sensor 3C scans the measurement light at least to the right rear of the dolly 10. The scanning range of the measurement light by the first rear sensor 3B and the scanning range of the measurement light by the second rear sensor 3C partially overlap behind the dolly 10. In this example, the first rear sensor 3B scans the measurement light approximately 270 degrees horizontally from the front to the right, including the left area of the mobile body 1, as shown by the dashed line in FIG. 2. The second rear sensor 3C scans the measurement light approximately 270 degrees horizontally from the front to the left, including the right area of the mobile body 1, as shown by the dashed line in FIG. 2. The first rear sensor 3B and the second rear sensor 3C detect objects at approximately the same height. That is, the scanning plane of the measurement light by the first rear sensor 3B and the scanning plane of the measurement light by the second rear sensor 3C are at approximately the same height.
[0042] 2, since the base 11 is disposed behind the front sensor 3A, the front sensor 3A cannot properly scan the measurement light into the range F overlapping with the base 11. On the other hand, since the first rear sensor 3B and the second rear sensor 3C are disposed behind the base 11, the first rear sensor 3B and the second rear sensor 3C can also scan the measurement light into the range F.
[0043] Here, the first rear sensor 3B and the second rear sensor 3C each have a lower obstacle detection accuracy than the front sensor 3A. The obstacle detection accuracy is the degree of certainty of obstacle detection. A sensor with a high detection accuracy has a higher probability of detecting or not detecting an obstacle than a sensor with a low detection accuracy.
[0044] Specifically, the detection range of the first rear sensor 3B and the second rear sensor 3C is two-dimensional. The first rear sensor 3B and the second rear sensor 3C detect objects on a two-dimensional scanning plane. The first rear sensor 3B and the second rear sensor 3C can detect objects that exist across the scanning plane, but cannot detect objects located above or below the scanning plane. Therefore, if the first rear sensor 3B and the second rear sensor 3C do not detect an object, it is unclear whether an object exists above or below the scanning plane.
[0045] On the other hand, the detection range of the front sensor 3A is three-dimensional. The front sensor 3A detects objects within a three-dimensional scanning space. The front sensor 3A can detect objects that are at least partially present within the scanning space. Therefore, the front sensor 3A may be able to detect objects that cannot be detected by the first rear sensor 3B and the second rear sensor 3C. Because the front sensor 3A can detect objects not only in two dimensions but also in three dimensions, the detection accuracy of the front sensor 3A is higher than that of the first rear sensor 3B and the second rear sensor 3C.
[0046] FIG. 3 is a diagram showing the hardware configuration of the control device 6. The control device 6 controls the entire mobile body 1. The control device 6 causes the mobile body 1 to move autonomously while estimating the self-position of the mobile body 1. The control device 6 operates the motor 13a of the wheel 13 to move the mobile body 1. Furthermore, the control device 6 controls the motor 12a of the robot arm 12 to cause the robot arm 12 to perform a predetermined task. The control device 6 has a processor 61, a storage device 62, and a memory 63.
[0047] The processor 61 performs various types of arithmetic processing. For example, the processor 61 is formed of a processor such as a CPU (Central Processing Unit). The processor 61 may be formed of an MCU (Micro Controller Unit), an MPU (Micro Processor Unit), an FPGA (Field Programmable Gate Array), a PLC (Programmable Logic Controller), a system LSI, or the like. The processor 61 operates the motor 13a, causing the mobile body 1 to drive autonomously.
[0048] The memory 62 stores programs and various data executed by the processor 61. The memory 62 is formed of a non-volatile memory, a hard disk drive (HDD), a solid state drive (SSD), or the like. For example, the memory 62 stores a control program. The memory 62 stores map information relating to a map of the environment in which the mobile body 1 moves. For example, the map information includes a three-dimensional map, a two-dimensional map, a detection map M1, an obstacle map M2, and a cost map. The memory 63 temporarily stores data and the like. For example, the memory 63 is formed of a volatile memory.
[0049] The three-dimensional map is a map that three-dimensionally represents the space in which the moving body 100 moves. The three-dimensional map is formed by three-dimensional point cloud data. The position of the three-dimensional map is represented by coordinates in a global coordinate system. The range of the three-dimensional map is the entire area in which the moving body 1 moves. For example, the three-dimensional map is a three-dimensional point cloud map. In the three-dimensional map, the three-dimensional shapes of obstacles in the environment, such as walls, ceilings, handrails, shelves, tables, or chairs, are represented by point cloud data.
[0050] The two-dimensional map is a planar map that two-dimensionally represents the space in which the moving body 100 moves. The position of the two-dimensional map is expressed by coordinates in a global coordinate system. The range of the two-dimensional map is the entire area in which the moving body 1 moves. The two-dimensional map is divided into a grid. The two-dimensional map is, for example, a two-dimensional occupancy grid map. The two-dimensional map represents the planar shapes of obstacles in the environment, such as walls, handrails, shelves, tables, or chairs. For example, the two-dimensional map is formed by projecting a three-dimensional map onto a plane in a grid pattern.
[0051] Fig. 4 is a conceptual diagram showing the detection map M1. In Fig. 4, the detection points of the sensor 3 are depicted as white circles. Fig. 5 is an explanatory diagram for explaining the detection accuracy. For the sake of convenience, Figs. 4 and 5 show the moving object 100, and row and column symbols for identifying each grid are written around the detection map M1.
[0052] The detection map M1 is a map showing whether or not an object is detected by the sensor 3 at each position. As shown in FIG. 4, the detection map M1 is a two-dimensional map on a plane corresponding to the two-dimensional map. The detection map M1 is partitioned into a grid. Positions on the detection map M1 are represented by coordinates in a mobile body coordinate system defined based on the mobile body 100. In the detection map M1, whether or not an object is detected is set as a binary value in each grid. In FIG. 4, a black grid indicates that an object is detected (i.e., value = 1), and a white grid indicates that an object is not detected (i.e., value = 0). The detection map M1 is generated based on the detection results of the sensor 3. The range of the detection map M1 is at least a part of the detection range of the sensor 3 in the horizontal plane. The detection range of the sensor 3 in the horizontal plane is the combined range of the area surrounded by the dashed line, the area surrounded by the one-dot chain line, and the area surrounded by the two-dot chain line shown in FIG. 2. 4 and 5, for the sake of convenience, the range of the detection map M1 is depicted as a rectangle.
[0053] Here, as shown in FIG. 5, an object detection accuracy of each grid is set in advance in the detection map M1. The detection accuracy of each grid corresponds to the detection accuracy of the sensor 3. Specifically, a relatively high detection accuracy is set for grids included in an area of the detection map M1 corresponding to the detection range of the front sensor 3A (hereinafter referred to as the "first area A1"). In FIG. 6, the grids included in the first area A1 are marked with fine dots. A relatively low detection accuracy is set for grids included in an area of the detection map M1 corresponding to the detection ranges of the first rear sensor 3B and the second rear sensor 3C (hereinafter referred to as the "second area A2"). In FIG. 6, the grids included in the second area A2 are marked with coarse dots.
[0054] FIG. 6 is a conceptual diagram conceptually illustrating the obstacle map M2. For ease of explanation, FIG. 6 depicts the moving body 100, and row and column symbols for identifying each grid are depicted around the obstacle map M2. The obstacle map M2 is a map that shows the positions of obstacles. The obstacle map M2 is a two-dimensional map on a plane corresponding to the two-dimensional map. The obstacle map M2 is partitioned into a grid. The shape and size of the grid on the obstacle map M2 are approximately the same as the shape and size of the grid on the detection map M1. Positions on the obstacle map M2 are expressed in coordinates of the global coordinate system. The range of the obstacle map M2 is the entire area in which the moving body main body 1 moves.
[0055] An evaluation of the presence or absence of an obstacle is set for each grid of the obstacle map M2. In this example, the evaluation of the presence or absence of an obstacle in the obstacle map M2 is expressed as the probability of the obstacle's presence. That is, an obstacle presence probability is set for each grid of the obstacle map M2. The range of the obstacle presence probability is 0 or more and 1 or less. However, in the case of a method of changing the presence probability using odds, which will be described later, if the presence probability is set to "0," multiplying the presence probability by the odds will still result in the presence probability being "0," and the presence probability cannot be changed appropriately. For this reason, in this example, the minimum value of the presence probability is set to a value greater than "0" (e.g., "0.1"). In this example, the maximum value of the presence probability is set to a value less than "1" (e.g., "0.9"). This is because, in the case of a method of changing the presence probability using odds, which will be described later, if the presence probability is set to "1," the odds will diverge to infinity. In FIG. 6, black grids represent the highest probability of obstacle presence (e.g., 0.9, i.e., 90%), hatched grids represent a value greater than 10% but less than 90% (e.g., 0.5, i.e., 50%), and white grids represent the lowest probability of obstacle presence (e.g., 0.1, i.e., 10%). Note that for ease of explanation, in FIG. 6, the probability of obstacle presence in each grid is divided into three levels, but the number of levels of existence probability is not limited to three. In this example, the initial value of the existence probability of each grid in the obstacle map M2, i.e., the probability of obstacle presence in each grid at the start of the mobile object 100, is set to a minimum value (e.g., 0.1). The obstacle map M2 is generated based on the detection map M1. The method of generating the obstacle map M2 will be described in detail later.
[0056] The cost map is a map that represents the cost of the moving body 1 when it moves. The cost map is used when executing a path plan. The cost map is a two-dimensional map on a plane corresponding to the two-dimensional map. The cost map is divided into grids. Positions on the cost map are represented by coordinates in the global coordinate system. The range of the cost map is the entire area in which the moving body 1 moves. The cost map is generated based on the two-dimensional map and the obstacle map M2. For example, the cost map sets a cost according to the distance from an object based on the two-dimensional map. For example, a relatively high cost is set for a grid that is close to an object. Furthermore, for example, the cost map sets a cost related to an obstacle based on the obstacle map. Details of how the cost map is generated will be described later.
[0057] 7 is a functional block diagram showing the configuration of the control system of the processor 61. The processor 61 realizes various functions by reading a control program from the storage device 62 into the memory 63 and expanding it. Specifically, the processor 61 functions as a state estimator 64 that estimates the state of the mobile body 1, a map generator 65 that generates a map of the environment in which the mobile body 1 moves, a path generator 66 that plans a path for the mobile body 1, a trajectory generator 67 that generates a target trajectory according to the path, and a movement controller 68 that moves the mobile body 1 according to the target trajectory. The processor 61 also functions as an operation amount calculator 69 that calculates the operation amount of the motor 13a.
[0058] The state estimator 64 performs self-position estimation. The state estimator 64 receives the detection results of the sensor 3, the detection results of the encoder 13b, and the map information in the memory 62. The map information is, for example, a three-dimensional map. The state estimator 64 compares the detection results of the sensor 3 with the map information to estimate the current position of the mobile body 1, i.e., its self-position. Here, the position of the mobile body 1 also includes the orientation of the mobile body 1, i.e., its attitude.
[0059] In this example, the state estimator 64 performs self-position estimation using the three-dimensional point cloud data of the front sensor 3 A. The state estimator 64 compares the environmental information around the mobile body 1 obtained from the three-dimensional point cloud data of the front sensor 3 A with a three-dimensional map, and estimates the position of the mobile body 1 within the environment represented by the three-dimensional map, i.e., the self-position.
[0060] The map generator 65 generates a map based on the detection results of the sensor 3. Specifically, the map generator 65 generates or modifies a three-dimensional map based on the detection results of the sensor 3. In this example, before autonomous movement is performed, the three-dimensional map is generated using SLAM (Simultaneous Localization and Mapping) technology. Specifically, while the mobile body 1 is moving within the environment, the state estimator 64 and the map generator 65 acquire the detection results of the sensor 3 and perform self-position estimation and map generation in parallel. The generated map information, i.e., the three-dimensional map, is stored in the memory 62. When generating the map before autonomous movement is performed, the mobile body 1 is moved by manual operation by the user.
[0061] Furthermore, the map generator 65 updates the two-dimensional map. The two-dimensional map can also be updated during autonomous movement. The map generator 65 detects obstacles in the environment based on the detection results of the sensor 3 acquired while the mobile body 1 is moving, and updates the two-dimensional map. More specifically, the detection results of the sensor 3 are coordinate-transformed into a global coordinate system, and the detection results of the sensor 3 after the coordinate transformation are projected onto the two-dimensional map.
[0062] Furthermore, the map generator 65 generates a detection map M1. Specifically, based on the detection results of the multiple sensors 3, the map generator 65 sets the grid value corresponding to a detection position where an object is detected within the detection range of the sensor 3 to "1" and sets the grid value corresponding to a detection position where an object is not detected to "0."
[0063] In addition, the map generator 65 generates an obstacle map M2 by evaluating the presence or absence of obstacles based on the detection results of the multiple sensors 3. The concept of "generation" also includes updating. In this example, the map generator 65 uses the detection map M1 as the detection results of the multiple sensors 3. The map generator 65 generates the obstacle map M2 when autonomous movement is performed. More specifically, the map generator 65 converts the detection map M1 from the mobile body coordinate system to the global coordinate system based on the self-position of the mobile body 1 estimated by the state estimator 64, and associates each grid of the detection map M1 with each grid of the obstacle map M2. The map generator 65 evaluates the presence of an obstacle in the corresponding grid of the obstacle map M2 based on the detection result in each grid of the detection map M1.
[0064] Specifically, the map generator 65 positively evaluates the presence of an obstacle at a position where the obstacle is detected by the front sensor 3A within the detection range of the front sensor 3A. In this example, increasing the probability of the obstacle's presence corresponds to a positive evaluation. That is, the map generator 65 positively evaluates the presence of an obstacle by increasing the probability of the obstacle's presence at a position where the obstacle is detected by the front sensor 3A within the detection range of the front sensor 3A. The map generator 65 increases the probability of the presence of a grid in the obstacle map M2 that corresponds to a grid in the first area A1 of the detection map M1 where an obstacle is detected (i.e., a grid whose value is set to "1"). Hereinafter, the degree of increase in the probability of the presence at this time is referred to as the "first degree of increase." Note that if the probability of the presence of a grid in the obstacle map M2 is already at its maximum value, the map generator 65 maintains the probability of the presence.
[0065] The map generator 65 negatively evaluates the presence of an obstacle at a position within the detection range of the front sensor 3A where no obstacle is detected by the front sensor 3A. In this example, reducing the probability of the obstacle's presence corresponds to a negative evaluation. That is, the map generator 65 negatively evaluates the presence of an obstacle by reducing the probability of the obstacle's presence at a position within the detection range of the front sensor 3A where no obstacle is detected by the front sensor 3A. The map generator 65 reduces the presence probability of a grid in the obstacle map M2 that corresponds to a grid in the first area A1 of the detection map M1 where no obstacle is detected (i.e., a grid whose value is set to "0"). Hereinafter, the degree of reduction in the presence probability at this time is referred to as the "first degree of reduction." Note that if the presence probability of a grid in the obstacle map M2 is already at its minimum value, the map generator 65 maintains the presence probability.
[0066] The map generator 65 positively evaluates the presence of an obstacle at a position where an obstacle is detected by at least one of the first rear sensor 3B and the second rear sensor 3C within the detection ranges of the first rear sensor 3B and the second rear sensor 3C. In this example, the map generator 65 positively evaluates the presence of an obstacle by increasing the probability of the obstacle's presence at a position where an obstacle is detected by at least one of the first rear sensor 3B and the second rear sensor 3C within the detection ranges of the first rear sensor 3B and the second rear sensor 3C. The map generator 65 increases the probability of the presence of a grid in the obstacle map M2 that corresponds to a grid in the second area A2 of the detection map M1 where an obstacle is detected (i.e., a grid with a value set to "1"). Hereinafter, the degree of increase in the probability of the presence at this time will be referred to as the "second degree of increase."
[0067] The map generator 65 either maintains the assessment of the existence of an obstacle at a position within the detection ranges of the first rear sensor 3B and the second rear sensor 3C where no obstacle is detected by either the first rear sensor 3B or the second rear sensor 3C, or negatively assesses the existence of an obstacle at a position within the detection ranges of the first rear sensor 3B and the second rear sensor 3C with a degree of negative assessment that is smaller than the negative assessment in the detection range of the front sensor 3A. Maintaining the probability of existence of an obstacle corresponds to maintaining the assessment of the existence of an obstacle. Reducing the probability of existence by a degree of decrease in the probability of existence that is smaller than the first degree of decrease (hereinafter referred to as the "second degree of decrease") corresponds to a negative assessment with a degree of negative assessment that is smaller than the negative assessment in the detection range of the front sensor 3A. In this example, the map generator 65 maintains the assessment of the existence of an obstacle by maintaining the probability of existence of an obstacle at a position within the detection ranges of the first rear sensor 3B and the second rear sensor 3C where no obstacle is detected by either the first rear sensor 3B or the second rear sensor 3C. That is, the map generator 65 does not reduce the probability of an obstacle's existence at a position within the detection ranges of the first rear sensor 3B and the second rear sensor 3C where no obstacle is detected by either the first rear sensor 3B or the second rear sensor 3C. Not reducing the probability of an obstacle's existence means that the second degree of reduction is zero. The map generator 65 maintains the probability of existence of grids in the obstacle map M2 that correspond to grids in the second area A2 of the detection map M1 where no obstacle is detected (i.e., grids whose values are set to "0").
[0068] The map generator 65 generates a cost map based on the obstacle map M2 and the two-dimensional map. For example, the map generator 65 determines the cost of each grid based on the obstacle map M2 and the two-dimensional map, and generates a cost map in which the determined cost is set for each grid. The cost of each grid is determined based on, for example, the probability of an obstacle being present in the target grid, the distance between the target grid and surrounding objects, etc.
[0069] The route generator 66 reads the destination and map information from the memory 62. The destination is set in advance in the memory 62. The map information at this time is, for example, a cost map. At this time, the route generator 66 may read intermediate points in addition to the destination. The state quantities (including the estimated position) of the mobile body 1 are input to the route generator 66 from the state estimator 64.
[0070] The path generator 66 generates a path from the current position of the mobile body 1 to the destination based on map information. The path generator 66 references the map information to generate a path that avoids interference with obstacles, etc. For example, the path generator 66 generates a path that minimizes cost based on a cost map. If a passage is set in the environment, the path generator 66 generates a path along the passage. For example, the path generator 66 generates a path using an A-star search algorithm, an RRT algorithm, a Dijkstra algorithm, or a geometric approach. The path generator 66 outputs an array of positions through which the mobile body 1 passes as a path to the trajectory generator 67. Each position includes the attitude of the mobile body 1 in addition to position information.
[0071] The trajectory generator 67 generates a target trajectory from the current position of the mobile body 1 according to the generated path. The trajectory generator 67 generates the target trajectory of the mobile body 1 using a predetermined method (for example, line-of-sight guidance law). The state quantities of the mobile body 1 are input to the trajectory generator 67 from the state estimator 64. The trajectory generator 67 calculates a command speed for the mobile body 1.
[0072] Alternatively, the trajectory generator 67 may calculate the command speed by model predictive control (MPC). Model predictive control determines a control input, i.e., a speed command, by sequentially solving an optimization problem based on a model of the mobile body 1. The trajectory generator 67 predicts future state quantities from the current state quantities of the mobile body 1 and obstacles, calculates an optimal path for the mobile body 1, and calculates a moving speed from the current position to the target position to follow that path as a command speed.
[0073] The command speed calculated by the trajectory generator 67 is input to the movement controller 68. The movement controller 68 outputs a command value according to the command speed to the operation amount calculator 69.
[0074] The movement controller 68 executes control to avoid interference between the mobile body 1 and an obstacle. The movement controller 68 monitors the approach of the mobile body 1 to an obstacle based on the detection results of the sensors 3. In this example, the movement controller 68 monitors the approach of the mobile body 1 to an obstacle using all of the detection results of the front sensor 3A, the first rear sensor 3B, and the second rear sensor 3C. For example, the movement controller 68 slows down or stops the mobile body 1 depending on the distance between the mobile body 1 and the obstacle.
[0075] The manipulated variable calculator 69 distributes the command value to the plurality of motors 13a and calculates the command manipulated variable for each of the plurality of motors 13a. For example, the manipulated variable is the rotation speed or torque of the motor.
[0076] Each motor 13a operates according to a command operation amount. In some cases, the motor 13a is provided with a dedicated controller for operating the motor 13a. For example, if the motor 13a is a servo motor, the motor 13a further includes a servo amplifier. In this case, the servo amplifier operates the motor 13a according to the command operation amount. As a result, the mobile body 1 moves.
[0077] Next, a description will be given of the basic operation of the moving body 100. Fig. 8 is a flowchart of the basic operation of the moving body 100. The moving body 100 repeatedly executes the following processing at a predetermined control cycle.
[0078] First, in step S1, the state estimator 64 acquires surrounding environment information. Specifically, the state estimator 64 acquires the detection signal of the sensor 3 and the detection signal of the encoder 13b.
[0079] Next, in step S2, the state estimator 64 performs self-localization.
[0080] Next, in step S3, the map generator 65 generates a detection map M1, an obstacle map M2, and a cost map. Specifically, the map generator 65 generates the detection map M1 based on the detection results of the sensor 3. The map generator 65 associates the detection map M1 with the obstacle map M2 using the estimated position of the mobile body 1. The map generator 65 generates the obstacle map M2 based on the detection map M1. The map generator 65 generates the cost map based on the two-dimensional map and the obstacle map M2.
[0081] Subsequently, in step S4, the route generator 66 executes route planning. The route generator 66 generates a route for the mobile body 1 based on the generated cost map, the estimated position of the mobile body 1, and the destination.
[0082] In step S5, the trajectory generator 67 calculates a command velocity from the estimated position of the mobile body 1 so as to follow the generated path.
[0083] In step S5, the movement controller 68 causes the moving body 1 to move in accordance with the command speed.
[0084] By repeating the above processing, the moving body 100 estimates its own position and moves autonomously to the destination.
[0085] Next, a method for generating the obstacle map M2 will be described in detail. The map generator 65 generates the obstacle map M2 by updating the probability of obstacles existing in the grids of the obstacle map M2 based on the detection results of the sensor 3. Figure 9 is a flowchart of the method for generating the obstacle map M2.
[0086] First, in step S201, the map generator 65 selects one grid (hereinafter referred to as the "selected grid") from among the plurality of grids on the detection map M1.
[0087] Next, in step S202, the map generator 65 determines whether an obstacle has been detected in the selection grid. Specifically, the map generator 65 determines that an obstacle has been detected when the value of the selection grid in the detection map M1 is "1," and determines that an obstacle has not been detected when the value of the selection grid in the detection map M1 is "0."
[0088] If it is determined in step S202 that an obstacle has been detected in the selection grid, the map generator 65 determines in step S203 whether the selection grid is within the first area A1 of the detection map M1.
[0089] If it is determined in step S203 that the selected grid is within the first area A1 of the detection map M1, the map generator 65 positively evaluates the presence of an obstacle in a grid in the obstacle map M2 that corresponds to the selected grid (hereinafter referred to as a "corresponding grid") in step S204. Specifically, the map generator 65 converts the coordinates of the selected grid in the detection map M1 into a global coordinate system based on the estimated position of the mobile body 1. The map generator 65 identifies a grid in the obstacle map M2 that is at the same position as the selected grid as the corresponding grid. As a positive evaluation, the map generator 65 increases the existence probability of the obstacle in the corresponding grid by a first increase degree. For example, the increase degree is an increase ratio or an increase value. That is, the map generator 65 increases the existence probability by a first increase rate or a first increase value.
[0090] If it is determined in step S203 that the selected grid is outside the first area A1 of the detection map M1, i.e., within the second area A2, the map generator 65 positively evaluates the presence of an obstacle in the corresponding grid in the obstacle map M2 in step S205. Specifically, the map generator 65 identifies a grid in the obstacle map M2 at the same position as the selected grid as the corresponding grid through the coordinate transformation described above. As a positive evaluation, the map generator 65 increases the existence probability of the obstacle in the corresponding grid by a second increase rate. In this example, the second increase rate is smaller than the first increase rate. For example, the map generator 65 increases the existence probability by a second increase rate or a second increase value.
[0091] On the other hand, if it is determined in step S202 that no obstacle has been detected in the selected grid, the map generator 65 determines in step S206 whether the selected grid is within the first area A1 of the detection map M1.
[0092] If it is determined in step S206 that the selected grid is within the first area A1 of the detection map M1, the map generator 65 determines in step S207 that there is no obstacle in the corresponding grid in the obstacle map M2. Specifically, the map generator 65 uses the coordinate transformation described above to identify a grid in the obstacle map M2 that is in the same position as the selected grid as the corresponding grid. The map generator 65 reduces the existence probability of the obstacle in the corresponding grid by a first reduction degree. For example, the reduction degree is a reduction ratio or a reduction value. That is, the map generator 65 reduces the existence probability by a first reduction rate or a first reduction value.
[0093] If it is determined in step S206 that the selected grid is outside the first area A1 of the detection map M1, i.e., within the second area A2, the map generator 65, in step S208, either maintains the evaluation of the presence of an obstacle in the corresponding grid in the obstacle map M2, or negatively evaluates the evaluation of the presence of an obstacle in the corresponding grid in the obstacle map M2 to a degree of negation that is less than the negative evaluation in the first area A1. In this example, the map generator 65 maintains the evaluation of the presence of an obstacle in the corresponding grid in the obstacle map M2. More specifically, the map generator 65 identifies a grid in the obstacle map M2 that is in the same position as the selected grid as the corresponding grid by the above-mentioned coordinate transformation. The map generator 65 maintains the probability of the presence of an obstacle in the corresponding grid. In other words, the map generator 65 does not reduce the probability of the presence of an obstacle in the corresponding grid. When the obstacle presence assessment of the corresponding grid in the obstacle map M2 is negatively assessed to a degree less than the negative assessment in the first area A1, the map generator 65 reduces the obstacle presence probability in the corresponding grid by a second reduction degree. The second reduction degree is less than the first reduction degree. For example, the map generator 65 reduces the presence probability by a second reduction rate or a second reduction value.
[0094] In step S209 after steps S204, S205, S207, and S208, the map generator 65 determines whether or not all of the grids of the detection map M1 have been selected. If the selection of all grids has not been completed, the map generator 65 returns to step S201 and selects one grid that has not yet been selected from the grids of the detection map M1. Thereafter, the map generator 65 executes the processes from step S202 onwards again. If the selection of all grids has been completed, the map generator 65 ends the generation of the obstacle map M2.
[0095] Next, a method for generating the obstacle map M2 will be specifically described with reference to Figs. 4, 6, and 10. Fig. 10 is a conceptual diagram conceptually showing the obstacle map M2 before updating. For ease of explanation, Fig. 10 depicts the moving object 100, and row and column numbers for identifying each grid are written around the obstacle map M2. In the following description, Fig. 6 shows the obstacle map M2 after updating.
[0096] As shown in FIG. 4, in the detection map M1, an obstacle is detected by the front sensor 3A in the grids i3 and i4 in the first area A1, and an obstacle is detected by at least one of the first rear sensor 3B and the second rear sensor 3C in the grids v3 and v4 in the second area A2. As shown in FIG. 10, in the obstacle map M2 before updating, the probability of an obstacle existing in the grids Bb, Bc, Bd, Fb, Fc, and Fd (grids shown in black) is set higher than the probability of an obstacle existing in the other grids (grids shown in white). The coordinates of each grid in the detection map M1 are converted into a global coordinate system based on the estimated position of the mobile body 1. In FIG. 10, the outer frame of the detection map M1, which corresponds to the global coordinate system after the coordinate conversion, is depicted by a two-dot chain line.
[0097] 6 and 10, when an obstacle is detected by the front sensor 3A in the first area A1, the obstacle existence probability of the grid at the position where the obstacle is detected is increased by a first increasing rate. Specifically, the obstacle existence probability of the Bd grid and the Be grid on the obstacle map M2 where an obstacle is detected by the front sensor 3A in the first area A1 is increased by a first increasing rate. When an obstacle is not detected by the front sensor 3A in the first area A1, the obstacle existence probability of the grid at the position where no obstacle is detected is decreased, for example, by a predetermined decreasing rate. Specifically, the obstacle existence probability of the Bb grid and the Bc grid on the obstacle map M2 where an obstacle is not detected by the front sensor 3A in the first area A1 is decreased, for example, by a predetermined decreasing rate.
[0098] When an obstacle is detected in the second area A2 by at least one of the first rear sensor 3B and the second rear sensor 3C, the obstacle presence probability of the grid at the position where the obstacle is detected is increased by a second increase rate. Specifically, the obstacle presence probability of the Fd grid and the Fe grid of the obstacle map M2 where an obstacle is detected in the second area A2 by at least one of the first rear sensor 3B and the second rear sensor 3C is increased by a second increase rate. When an obstacle is not detected in the second area A2 by at least one of the first rear sensor 3B and the second rear sensor 3C, the obstacle presence probability of the grid at the position where no obstacle is detected is maintained, or the obstacle presence probability of the grid at the position where no obstacle is detected is decreased, for example, by a predetermined decrease rate. This predetermined decrease rate is smaller than the predetermined decrease rate when no obstacle is detected by the front sensor 3A in the first area A1. In this example, if an obstacle is not detected by at least one of the first rear sensor 3B and the second rear sensor 3C in the second area A2, the obstacle presence probability is maintained for the grid at which no obstacle is detected. Specifically, the obstacle presence probability is maintained for the Fb grid and the Fc grid of the obstacle map M2 where no obstacle is detected by at least one of the first rear sensor 3B and the second rear sensor 3C in the second area A2. In other words, if an obstacle is not detected by at least one of the first rear sensor 3B and the second rear sensor 3C in the second area A2, the obstacle presence probability is not reduced.
[0099] Next, as an example of a method for updating the obstacle existence probability, a change method using a binary Bayes filter will be described in detail. As described above, the method for updating the obstacle existence probability is executed in steps S204, S205, S207, and S208 in Fig. 9. Fig. 11 is a flowchart showing an example of a method for changing the obstacle existence probability.
[0100] First, in step S301, the map generator 65 calculates the odds before updating using the following formula (1) based on the existence probability already set in the corresponding grid.
[0101] Odds = Probability of Existence / (1 - Probability of Existence) (1) For example, if the existence probability set in the corresponding grid is "0.67", the odds before updating are calculated as "2" based on the above formula (1).
[0102] Next, in step S302, the map generator 65 acquires detection accuracy odds for the corresponding grid. The detection accuracy odds are set based on the type of sensor performing detection in the corresponding grid and the detection result of the obstacle. For example, the map generator 65 acquires the detection accuracy odds for the corresponding grid based on an odds correspondence table in which the detection accuracy odds are set according to the sensor type and the detection result. FIG. 12 is an example of the odds correspondence table. The odds correspondence table is pre-stored in the memory 62. For example, in the odds correspondence table, the detection accuracy odds for a grid included in the first area A1 of the detection map M1 and in which an obstacle has been detected are "4." The fact that a grid is included in the first area A1 of the detection map M1 means that detection in that grid is performed by the front sensor 3A. The detection accuracy odds for a grid included in the first area A1 of the detection map M1 and in which no obstacle has been detected (hereinafter simply referred to as "first detection accuracy odds") are "0.25." The detection accuracy odds of a grid that is included in the second area A2 of the detection map M1 and in which an obstacle has been detected are "2." The fact that a grid is included in the second area A2 of the detection map M1 means that detection in that grid is performed by at least one of the first rear sensor 3B or the second rear sensor 3C. The detection accuracy odds of a grid that is included in the second area A2 of the detection map M1 and in which no obstacle has been detected (hereinafter simply referred to as "second detection accuracy odds") are "1." Note that, when the probability of an obstacle being present is reduced when an obstacle is not detected in the second area A2, the second detection accuracy odds may be greater than the first detection accuracy odds and less than 1.
[0103] Subsequently, in step S303, the map generator 65 calculates the updated odds based on the following formula (2).
[0104] Updated odds = Pre-update odds × Detection probability odds (2) For example, if the odds of a corresponding grid before the update were "2," the corresponding grid was included in the first area A1 of the detection map M1, and an obstacle was detected in the corresponding grid, the odds after the update would be 2 x 4 = 8. For example, if the odds of a corresponding grid before the update were "2," the corresponding grid was included in the second area A2 of the detection map M1, and an obstacle was detected in the corresponding grid, the odds after the update would be 2 x 2 = 4. In this way, in both the first area A1 and the second area A2, the odds after the update of a grid where an obstacle is detected increase from before the update. However, in this example, the degree of increase in the odds after the update of a grid where an obstacle is detected in the first area A1 is greater than that of a grid where an obstacle is detected in the second area A2.
[0105] For example, if the odds of a corresponding grid before the update were "2," the corresponding grid was included in the first area A1 of the detection map M1, and no obstacles were detected in the corresponding grid, the updated odds would be 2 x 0.25 = 0.5. For example, if the odds of a corresponding grid before the update were "2," the corresponding grid was included in the second area A2 of the detection map M1, and no obstacles were detected in the corresponding grid, the updated odds would be 2 x 1 = 2. In this way, the updated odds of a grid in the first area A1 where no obstacles were detected decrease from the odds before the update. On the other hand, in this example, the updated odds of a grid in the second area A2 where no obstacles were detected remain unchanged from the odds before the update.
[0106] Next, in step S304, the map generator 65 calculates the updated existence probability using the above formula (1) based on the calculated updated odds. For example, if the pre-update existence probability of a corresponding grid included in the first area A1 of the detection map M1 is "0.67" and an obstacle is detected in that corresponding grid, the updated odds are "8" and the updated existence probability is calculated to be "0.89." For example, if the pre-update existence probability of a corresponding grid included in the second area A2 of the detection map M1 is "0.67" and an obstacle is detected in that corresponding grid, the updated odds are "4" and the updated existence probability is calculated to be "0.80." In this way, the existence probability of the corresponding grid increases whether the corresponding grid in which an obstacle is detected is included in the first area A1 or the second area A2. However, in this example, the degree of increase in the probability of existence when an obstacle is detected in the corresponding grid included in the second area A2, i.e., the second degree of increase, is smaller than the degree of increase when an obstacle is detected in the corresponding grid included in the first area A1, i.e., the first degree of increase.
[0107] For example, if the pre-update existence probability of a corresponding grid included in the first area A1 of the detection map M1 is "0.67" and no obstacle is detected in that corresponding grid, the post-update odds are "0.5" and the post-update existence probability is calculated as "0.33." For example, if the pre-update existence probability of a corresponding grid included in the second area A2 of the detection map M1 is "0.67" and no obstacle is detected in that corresponding grid, the post-update odds are "2," and the post-update existence probability is calculated as "0.67." In this way, the post-update existence probability of a corresponding grid included in the first area A1 and in which no obstacle is detected decreases from the pre-update existence probability. On the other hand, in this example, the post-update existence probability of a corresponding grid included in the second area A2 and in which no obstacle is detected remains the same as the pre-update existence probability.
[0108] Next, in step S305, the map generator 65 sets the updated existence probability in the corresponding grid, and this flow ends.
[0109] As described above, because the detection accuracy of the front sensor 3A is relatively high, the evaluation of the presence of an obstacle at each position within the detection range of the front sensor 3A corresponds to the result of the obstacle detection by the front sensor 3A. That is, in the detection range of the front sensor 3A, the presence of an obstacle is evaluated as positive at the position where an obstacle is detected, and the presence of an obstacle is evaluated as negative at the position where an obstacle is not detected. However, because the detection accuracy of the first rear sensor 3B and the second rear sensor 3C is relatively low, the presence of an obstacle is evaluated as positive at the position where an obstacle is detected within the detection range of the first rear sensor 3B and the second rear sensor 3C, corresponding to the result of detection. However, at the position where an obstacle is not detected, the evaluation of the presence of an obstacle is maintained despite the result of non-detection, or is evaluated as negative to a lesser extent than the negative evaluation in the detection range of the front sensor 3A. In other words, with regard to the result of detection, the presence of an obstacle is evaluated as positive at the position where the obstacle is detected, regardless of the detection accuracy of the sensor 3. On the other hand, with regard to the result of non-detection, the presence of an obstacle is negatively evaluated at the position corresponding to the front sensor 3A, which has a high detection accuracy, and the evaluation of the presence of an obstacle is not changed at the position corresponding to the first rear sensor 3B or the second rear sensor 3C, which has a low detection accuracy, or is negatively evaluated to a degree less negative than the negative evaluation in the detection range of the front sensor 3A.
[0110] In short, the presence of an obstacle is evaluated on the safe side based on the detection accuracy of the sensor 3. When an obstacle is detected by the sensor 3, this includes both the actual presence of the obstacle and the erroneous detection of the obstacle. When an obstacle is detected, the presence of the obstacle is evaluated as positive regardless of the detection accuracy of the sensor 3. Even if the detection is erroneous, safety is ensured, although it may require additional effort to avoid the obstacle. On the other hand, when an obstacle is not detected by the sensor 3, this includes both the actual absence of the obstacle and the erroneous detection of the absence of the obstacle. Because the detection accuracy of the front sensor 3A is relatively high, it is highly likely that an obstacle does not actually exist in a location where the front sensor 3A does not detect an obstacle. In this case, the presence of the obstacle is evaluated as negative. On the other hand, because the detection accuracy of the first rear sensor 3B and the second rear sensor 3C is relatively low, there is a possibility of erroneous detection in a location where the first rear sensor 3B or the second rear sensor 3C does not detect an obstacle, and there is also a possibility that an obstacle actually exists. Therefore, in a position where no obstacle is detected by the first rear sensor 3B or the second rear sensor 3C, the evaluation of the presence of an obstacle is not changed, i.e., is not lowered, or is negatively evaluated to a lesser degree than the negative evaluation in the detection range of the front sensor 3A. In this case, too, safety is ensured, although it requires more effort to avoid the obstacle.
[0111] Furthermore, since the first rear sensor 3B and the second rear sensor 3C are low-cost two-dimensional sensors, the cost of the moving body 100 can be reduced and an obstacle map with higher safety can be generated.
[0112] Since the mobile body 1 basically moves forward, there is a high possibility that an obstacle will enter the area in front of the mobile body 1. In the mobile body 100, the front sensor 3A detects objects in an area including at least the front of the mobile body 1, and the first rear sensor 3B and the second rear sensor 3C detect objects in an area including at least the rear of the mobile body 1. In other words, the front sensor 3A, which has a relatively high accuracy of detecting obstacles, is responsible for detecting obstacles in the area in front of the mobile body 1. This allows for more reliable detection of obstacles encountered while the mobile body 100 is moving.
[0113] The obstacle detection accuracy of the front sensor 3A is greater than the obstacle detection accuracy of each of the first rear sensor 3B and the second rear sensor 3C. In the moving object 100, the first degree of increase in the obstacle presence probability when an obstacle is detected by the front sensor 3A in the first area A1 is greater than the second degree of increase in the obstacle presence probability when an obstacle is detected by at least one of the first rear sensor 3B and the second rear sensor 3C in the second area A2. Therefore, the obstacle presence probability can be more faithfully reflected in the obstacle map M2 than when the first degree of increase is the same as the second degree of increase. This makes it possible to generate an obstacle map with even greater safety.
[0114] The control device 6 may control the robot arm 12 when performing autonomous movement. Fig. 13 is a functional block diagram showing the configuration of a control system of the processor 61 according to a modified example. The processor 61 may function as an arm controller 611 that controls the robot arm 12.
[0115] The arm controller 611 operates the robot arm 12. For example, the arm controller 611 transforms the robot arm 12 into a target shape. The arm controller 611 may maintain the robot arm 12 in the target shape. The arm controller 611 may operate the robot arm 12 by continuously changing the shape of the robot arm 12.
[0116] The arm controller 611 generates a command value according to a target shape of the robot arm 12. Based on the command value, the arm controller 611 calculates a command operation amount for each of the multiple motors 12a. For example, the operation amount is the rotation speed or torque of the motor.
[0117] The arm controller 611 may maintain the robot arm 12 in a fixed shape when the moving body 100 is moving, and may operate the robot arm 12 when the robot arm 12 is performing work.
[0118] For example, when the moving body 100 is traveling, the arm controller 611 maintains the robot arm 12 in a traveling shape. In other words, when the moving body 100 is traveling, the arm controller 611 fixes the shape of the robot arm 12 and prohibits the robot arm 12 from moving.
[0119] Fig. 14 is a side view of the mobile body 1 when the robot arm 12 is in the running shape. Fig. 15 is a plan view of the mobile body 1 when the robot arm 12 is in the running shape.
[0120] For example, the robot arm 12 in the running configuration is positioned at a relatively high position. For example, the robot arm 12 in the running configuration is bent at an intermediate joint between the shoulder joint and the wrist joint, for example, at the fourth joint J4, with the portion between the base 11 and the intermediate joint extending diagonally downward and rearward from the base 11, and the portion between the intermediate joint and the wrist joint extending forward from the intermediate joint. That is, the robot arm 12 in the running configuration has the intermediate joint pulled rearward and bent at the intermediate joint. As a result, the portion of the robot arm 12 closer to the hand than the intermediate joint is positioned at a relatively high position. Furthermore, the hand of the robot arm 12 is positioned relatively rearward.
[0121] In the traveling configuration, the robot arm 12 is positioned higher than the front sensor 3A of the mobile body 1. The detection range of the front sensor 3A extends three-dimensionally from the front sensor 3A. The space above the front sensor 3A is included in the detection range of the front sensor 3A. Since the robot arm 12 is positioned above the front sensor 3A, it may block part of the detection range of the front sensor 3A. The detection results of the front sensor 3A that correspond to the robot arm 12 are treated as invalid. The higher the position of the robot arm 12, the farther the robot arm 12 is from the front sensor 3A. The farther the robot arm 12 is from the front sensor 3A, the smaller the area of the detection range of the front sensor 3A that is blocked by the robot arm 12 tends to be. Therefore, in the traveling configuration, the detection range of the front sensor 3A is relatively large.
[0122] Furthermore, the robot arm 12 in the traveling configuration has a relatively small forward projection amount from the base 11. As the forward projection amount of the robot arm 12 decreases, the detection range of the front sensor 3A is expanded diagonally upward and forward from the front sensor 3A.
[0123] The width direction size of the overall shape of the running-shaped robot arm 12 in a plan view is relatively small. For example, in the running shape, the second link L2 is located at the outermost position in the width direction. Of the multiple links L, the links other than the second link L2 are located more inward in the width direction than the second link L2. By making the width direction size of the overall shape of the running-shaped robot arm 12 in a plan view relatively small, the possibility of interference between the robot arm 12 and other objects located in the width direction during running can be reduced. Note that the running-shaped robot arm 12 may be configured such that the first link L1 and the second link L2 are located forward of the rotation axis of the first joint J1 by rotating the first link L1 forward about the rotation axis of the first joint J1. This further reduces the width direction size of the second links L2 of the two robot arms, i.e., the width direction size of the overall shape of the robot arm 12 in a plan view.
[0124] The overall shape of the robot arm 12 in the traveling configuration in a plan view is contained within the inside of the carriage 10 in the front-to-rear direction. This reduces the possibility of interference between the robot arm 12 and other objects located in the front-to-rear direction when traveling.
[0125] In addition, the shapes of the two robot arms 12 in terms of their running shapes do not have to be completely identical. That is, the shapes of the two robot arms 12 may be slightly different. For example, the height of the tip of one robot arm 12 may be different from the height of the tip of the other robot arm 12. The rotation angle of the seventh joint J7 of one robot arm 12 may be different from the rotation angle of the seventh joint J7 of the other robot arm 12.
[0126] For example, when the robot arm 12 is performing work, the arm controller 611 operates the robot arm 12. In other words, when the robot arm 12 is performing work, the arm controller 611 permits the operation of the robot arm 12 and allows the robot arm 12 to freely operate. For example, after the mobile body 1 has reached its destination, the arm controller 611 operates the robot arm 12 to perform work by the robot arm 12.
[0127] Other Embodiments As described above, the above embodiment has been described as an example of the technology disclosed in this application. However, the technology of the present disclosure is not limited to this and can be applied to embodiments in which modifications, substitutions, additions, omissions, etc. are made as appropriate. Furthermore, the components described in the above embodiment can be combined to create new embodiments. Furthermore, the components described in the accompanying drawings and detailed description may include not only components essential for solving the problem, but also components that are not essential for solving the problem in order to exemplify the technology. Therefore, the fact that these non-essential components are described in the accompanying drawings or detailed description should not be interpreted as immediately determining that these non-essential components are essential.
[0128] For example, the mobile body 1 may be a robot that does not include the robot arm 12. The mobile body 1 is not limited to a robot, but may be a mobile device such as a drone, a ship, or a vehicle. The movement path of the mobile body 1 is not limited to a passageway, but may be a road or a seaway.
[0129] The first sensor is not limited to 3D LiDAR. For example, the first sensor may be a stereo camera, a millimeter-wave radar, an ultrasonic sensor (sonar), etc. The second sensor is not limited to 2D LiDAR. For example, the second sensor may be a two-dimensional radar, an ultrasonic sensor (sonar), etc.
[0130] The detection range of the first sensor is not limited to an area including at least the front of the mobile body 1, and can detect any area around the mobile body 1. The detection range of the second sensor is not limited to an area including at least the rear of the mobile body 1, and can detect any area around the mobile body 1.
[0131] The evaluation of the presence or absence of an obstacle in the obstacle map M2 may be expressed as a binary value, "obstacle present" or "obstacle absent." In this case, the presence of an obstacle may be evaluated positively as "obstacle present" at a position in the first area A1 where an obstacle is detected by the front sensor 3A, and the presence of an obstacle may be evaluated negatively as "obstacle absent" at a position in the first area A1 where an obstacle is not detected by the front sensor 3A. The presence of an obstacle may be evaluated positively as "obstacle present" at a position in the second area A2 where an obstacle is detected by at least one of the first rear sensor 3B and the second rear sensor 3C, and the evaluation of the presence of an obstacle may be maintained at a position in the second area A2 where an obstacle is not detected by at least one of the first rear sensor 3B and the second rear sensor 3C.
[0132] The odds regarding the probability of an obstacle being present are not limited to the example shown in Fig. 12. The first degree of increase in the probability of an obstacle being present when an obstacle is detected by the front sensor 3A in the first area A1 may be the same as the second degree of increase in the probability of an obstacle being present when an obstacle is detected by at least one of the first rear sensor 3B and the second rear sensor 3C in the second area A2. In other words, the odds when an obstacle is detected in the first area A1 may be the same as the odds when an obstacle is detected in the second area A2.
[0133] The flowcharts are merely examples. Steps in the flowcharts may be changed, replaced, added, omitted, etc. as appropriate. The order of steps in the flowcharts may also be changed, and serial processing may be performed in parallel.
[0134] The functionality of the elements disclosed herein may be implemented using one or more circuits or processing circuits, including general-purpose processors, special-purpose processors, integrated circuits, ASICs (Application Specific Integrated Circuits), FPGAs (Field Programmable Gate Arrays), and / or conventional circuitry. The functionality of the elements disclosed herein may be implemented using one or more circuits or processing circuits, including combinations of general-purpose processors, special-purpose processors, integrated circuits, ASICs, FPGAs, and conventional circuitry. The one or more circuits or processing circuits may be programmed using one or more programs stored together or separately in one or more memories or otherwise configured to perform the disclosed functions. A processor is considered a processing circuit or circuitry because it includes transistors and other circuits. A processor may also be a programmed processor that executes a program stored in a memory. In this disclosure, a circuit, unit, or means is hardware that performs the recited functions alone or in combination with each other, or hardware that is programmed to perform the recited functions alone or in combination with each other. The hardware may be any hardware disclosed herein that is programmed or configured to perform the recited functions.
[0135] A computer program containing computer instructions is stored in memory. The computer instructions provide logic and routines that enable hardware to perform the methods disclosed herein. The hardware includes, for example, processing circuits or circuitry. The computer program may be implemented in a known format in a computer-readable storage medium, a computer program product, a memory device, a recording medium such as a CD-ROM or DVD, and / or the memory of FPGAs or ASICs.
[0136] [Aspect] The above embodiments are specific examples of the following aspects.
[0137] (Aspect 1) The mobile body 100 comprises a mobile body main body 1, a plurality of sensors 3 that detect objects around the mobile body main body 1, and a control device 6 that generates an obstacle map M2 indicating the location of an obstacle by evaluating the presence or absence of an obstacle based on the detection results of the plurality of sensors 3, the plurality of sensors 3 including a first sensor (front sensor 3A) and second sensors (first rear sensor 3B and second rear sensor 3C) that have a lower obstacle detection accuracy than the first sensor, and the control device 6 positively evaluates the presence of an obstacle at a position where an obstacle is detected by the first sensor in the detection range (first area A1) of the first sensor, while negatively evaluating the presence of an obstacle at a position where an obstacle is not detected by the first sensor, and positively evaluates the presence of an obstacle at a position where an obstacle is detected by the second sensor in the detection range (second area A2) of the second sensor, maintaining the evaluation of the presence of an obstacle at a position where an obstacle is not detected by the second sensor, or negatively evaluates the presence of an obstacle at a position where an obstacle is not detected by the second sensor with a degree of negative evaluation that is smaller than the negative evaluation in the detection range of the first sensor.
[0138] According to this configuration, the control device 6 positively evaluates the presence of an obstacle at a position where an obstacle is detected within the detection range of the first sensor, while negatively evaluating the presence of an obstacle at a position where no obstacle is detected. The control device 6 positively evaluates the presence of an obstacle at a position where an obstacle is detected within the detection range of the second sensor, while either maintaining the evaluation of the presence of the obstacle at a position where no obstacle is detected, or negatively evaluating the presence of the obstacle at a position where no obstacle is detected by the second sensor with a lower degree of negative evaluation than the negative evaluation within the detection range of the first sensor. The obstacle detection accuracy of the second sensor is lower than the obstacle detection accuracy of the first sensor. In other words, when an obstacle is not detected by the second sensor, which has a relatively low obstacle detection accuracy, the evaluation of the presence of the obstacle is maintained, or negatively evaluated with a lower degree of negative evaluation than the negative evaluation within the detection range of the first sensor. As a result, even if the second sensor does not detect an obstacle at a location where the obstacle is present, the presence of the obstacle is not negatively evaluated and the evaluation of the presence of the obstacle is maintained, or the negative evaluation is made to a smaller degree than the negative evaluation in the detection range of the first sensor, thereby generating a safer obstacle map.
[0139] (Embodiment 2) In the moving body 100 according to embodiment 1, the first sensor is a three-dimensional sensor that detects an object in a three-dimensional space, and the second sensor is a two-dimensional sensor that detects an object in a two-dimensional space.
[0140] With this configuration, since the second sensor is a low-cost two-dimensional sensor, it is possible to generate a safer obstacle map while reducing the cost of the moving body 100. Furthermore, since the number of measurement points of a two-dimensional sensor is smaller than the number of measurement points of a three-dimensional sensor, by employing a two-dimensional sensor as the second sensor, it is possible to reduce the calculation load on the processor 61.
[0141] (Aspect 3) In the moving body 100 described in aspect 1 or aspect 2, the first sensor detects objects in an area including at least the front of the moving body main body 1, and the second sensor detects objects in an area including at least the rear of the moving body main body 1.
[0142] Since the mobile body 1 basically moves forward, there is a high possibility that an obstacle will enter the area ahead of the mobile body 1. According to the above configuration, the first sensor detects objects in an area including at least the front of the mobile body 1, and the second sensor detects objects in an area including at least the rear of the mobile body 1. In other words, the first sensor, which has a relatively high accuracy of detecting obstacles, is responsible for detecting obstacles in the area ahead of the mobile body 1. This allows for more reliable detection of obstacles encountered while the mobile body 100 is moving.
[0143] (Aspect 4) In the moving body 100 described in any one of aspects 1 to 3, the control device 6 causes the moving body main body 1 to perform autonomous movement based on the obstacle map M2, and generates the obstacle map M2 when the autonomous movement is performed.
[0144] According to this configuration, the obstacle map M2 can be updated in response to changes in the presence or absence of obstacles while the moving body 1 is moving autonomously.
[0145] (Aspect 5) In the moving body 100 described in any one of aspects 1 to 4, the evaluation of the presence or absence of an obstacle in the obstacle map M2 is expressed as a probability of the obstacle's presence, and the control device 6 positively evaluates the presence of an obstacle by increasing the probability of the obstacle's presence at a position where an obstacle is detected by the first sensor within the detection range of the first sensor, while negatively evaluates the presence of an obstacle by decreasing the probability of the obstacle's presence at a position where an obstacle is not detected by the first sensor, and positively evaluates the presence of an obstacle by increasing the probability of the obstacle's presence at a position where an obstacle is detected by the second sensor within the detection range of the second sensor, and maintains the evaluation of the obstacle's presence by maintaining the probability of the obstacle's presence at a position where an obstacle is not detected by the second sensor.
[0146] According to this configuration, safety can be further improved in the obstacle map M2 in which the evaluation of the presence or absence of an obstacle is expressed as the probability of the obstacle's existence.
[0147] (Mode 6) In the moving body 100 described in any one of modes 1 to 5, the degree of increase in the presence probability when an obstacle is detected by the first sensor is greater than the degree of increase in the presence probability when an obstacle is detected by the second sensor.
[0148] With this configuration, the first degree of increase in the obstacle presence probability when an obstacle is detected by the first sensor, which has a relatively high obstacle detection accuracy, is greater than the second degree of increase in the obstacle presence probability when an obstacle is detected by the second sensor, which has a relatively low obstacle detection accuracy, so the obstacle presence probability can be more faithfully reflected in the obstacle map M2 than when the first degree of increase is the same as the second degree of increase, thereby making it possible to generate an obstacle map with even greater safety.
[0149] (Aspect 7) In the moving body 100 described in any one of aspects 1 to 6, the evaluation of the presence or absence of an obstacle in the obstacle map M2 is expressed as a probability of the obstacle's presence, and the control device 6 positively evaluates the presence of an obstacle by increasing the probability of the obstacle's presence at a position where an obstacle is detected by the first sensor in the detection range of the first sensor, while negatively evaluating the presence of an obstacle by decreasing the probability of the obstacle's presence at a position where an obstacle is not detected by the first sensor, and positively evaluates the presence of an obstacle by increasing the probability of the obstacle's presence at a position where an obstacle is detected by the second sensor in the detection range of the second sensor, while negatively evaluating the presence of an obstacle at a position where an obstacle is not detected by the second sensor by decreasing the probability of the obstacle's presence at a position where an obstacle is not detected by the second sensor by a degree that is smaller than the degree of decrease in the probability of the obstacle's presence in the detection range of the first sensor, thereby negatively evaluating the presence of an obstacle at a degree that is smaller than the negative evaluation of the detection range of the first sensor.
[0150] According to this configuration, safety can be improved in the obstacle map M2 in which the evaluation of the presence or absence of an obstacle is expressed as the probability of the obstacle's existence.
[0151] (Embodiment 8) In the moving body 100 according to any one of embodiments 1 to 7, the moving body main body 1 includes a robot arm 12 and is a mobile robot.
[0152] According to this configuration, by using a safer obstacle map M2, the robot arm 12 can perform the work appropriately at the destination.
[0153] (Mode 9) A control device 6 of a mobile body generates an obstacle map M2 indicating the position of an obstacle by evaluating the presence or absence of an obstacle based on the detection results of multiple sensors 3 that detect objects around the mobile body main body 1 of the mobile body 100, wherein the multiple sensors 3 include a first sensor (front sensor 3A) and second sensors (first rear sensor 3B and second rear sensor 3C) that have a lower obstacle detection accuracy than the first sensor, and the control device 6 positively evaluates the presence of an obstacle at a position where an obstacle is detected by the first sensor within the detection range of the first sensor, while negatively evaluating the presence of an obstacle at a position where an obstacle is not detected by the first sensor, and positively evaluates the presence of an obstacle at a position where an obstacle is detected by the second sensor within the detection range of the second sensor, while maintaining the evaluation of the presence of an obstacle at a position where an obstacle is not detected by the second sensor, or negatively evaluates the evaluation of the presence of an obstacle at a position where an obstacle is not detected by the second sensor with a degree of negative evaluation that is smaller than the negative evaluation within the detection range of the first sensor.
[0154] This configuration allows for the generation of a safer obstacle map M2.
[0155] (Aspect 10) The method for generating the obstacle map M2 includes evaluating the presence or absence of an obstacle based on the detection results of a plurality of sensors 3 that detect objects around the mobile body main body 1 of the mobile body 100, and generating an obstacle map M2 that indicates the position of the obstacle based on the evaluation of the presence or absence of the obstacle, wherein the plurality of sensors 3 include a first sensor (front sensor 3A) and second sensors (first rear sensor 3B and second rear sensor 3C) that have a lower obstacle detection accuracy than the first sensor, and in generating the obstacle map M2, the method positively evaluates the presence of an obstacle at a position where an obstacle is detected by the first sensor in the detection range of the first sensor, while negatively evaluating the presence of an obstacle at a position where an obstacle is not detected by the first sensor, and positively evaluates the presence of an obstacle at a position where an obstacle is detected by the second sensor in the detection range of the second sensor, while maintaining the evaluation of the presence of the obstacle at a position where an obstacle is not detected by the second sensor, or negatively evaluates the presence of an obstacle at a position where an obstacle is not detected by the second sensor with a degree of negative evaluation that is smaller than the negative evaluation in the detection range of the first sensor.
[0156] This configuration allows for the generation of a safer obstacle map M2.
[0157] (Aspect 11) The obstacle map M2 generation program is a generation program for the obstacle map M2, and causes a computer to realize a function of evaluating the presence or absence of an obstacle based on the detection results of a plurality of sensors 3 that detect objects around the mobile body main body 1 of the mobile body 100, and a function of generating an obstacle map M2 that indicates the position of the obstacle based on the evaluation of the presence or absence of the obstacle, wherein the plurality of sensors 3 include a first sensor (front sensor 3A) and second sensors (first rear sensor 3B and second rear sensor 3C) that have a lower obstacle detection accuracy than the first sensor, and the function of generating the obstacle map M2 positively evaluates the presence of an obstacle in a position where an obstacle is detected by the first sensor, negatively evaluates the presence of an obstacle in a position where an obstacle is not detected by the first sensor, positively evaluates the presence of an obstacle in a position where an obstacle is detected by the second sensor, and maintains the evaluation of the presence of the obstacle in a position where an obstacle is not detected by the second sensor, or negatively evaluates the presence of an obstacle in a position where an obstacle is not detected by the second sensor with a degree of negative evaluation that is smaller than the negative evaluation in the detection range of the first sensor.
[0158] This configuration allows for the generation of a safer obstacle map M2. [Explanation of symbols]
[0159] 100 Mobile 1 Mobile body 12 Robotic Arm 3 Multiple sensors 3A Front sensor (first sensor) 3B 1st rear sensor (2nd sensor) 3C Second rear sensor (second sensor) 6. Control device M2 Obstacle Map
Claims
1. A mobile body; a plurality of sensors disposed on the mobile body to detect objects around the mobile body; a control device that generates an obstacle map indicating the positions of obstacles by evaluating the presence or absence of obstacles based on the detection results of the plurality of sensors, the plurality of sensors include a first sensor and a second sensor having a lower accuracy of detecting an obstacle than the first sensor; In the obstacle map, an initial value for evaluating the presence of an obstacle is set in advance, a first area that moves together with the mobile body and to which a detection result by the first sensor is assigned, and a second area that moves together with the mobile body and to which a detection result by the second sensor is assigned are set around the mobile body; The control device In an area of the obstacle map corresponding to the first area, Affirming the presence of an obstacle at a position where the obstacle is detected by the first sensor, Negating the presence of an obstacle at a position where no obstacle is detected by the first sensor; In an area of the obstacle map corresponding to the second area, Affirming the presence of an obstacle at a position where the obstacle is detected by the second sensor, A mobile body that maintains an assessment of the presence of an obstacle at a location where no obstacle is detected by the second sensor, or that negatively assesses the presence of an obstacle at a location where no obstacle is detected by the second sensor to a degree of negation that is smaller than the negative assessment within the detection range of the first sensor.
2. 2. The moving body according to claim 1, the first sensor is a three-dimensional sensor that detects an object in a three-dimensional space; The second sensor is a two-dimensional sensor that detects an object in a two-dimensional space.
3. 2. The moving body according to claim 1, the first sensor detects an object in an area including at least a front portion of the mobile body; The second sensor detects an object in an area including at least the rear of the main body of the mobile body.
4. 2. The moving body according to claim 1, The control device causes the main body of the mobile body to perform autonomous movement based on the obstacle map, and generates the obstacle map during the autonomous movement.
5. 2. The moving body according to claim 1, The evaluation of the presence or absence of an obstacle in the obstacle map is expressed as a probability of the presence of the obstacle; The control device In an area of the obstacle map corresponding to the first area, The presence of an obstacle is positively evaluated by increasing the probability of the obstacle being present at the position where the obstacle is detected by the first sensor, negatively assessing the presence of an obstacle by reducing the probability of the obstacle being present at a position where the obstacle is not detected by the first sensor; In an area of the obstacle map corresponding to the second area, The presence of an obstacle is positively evaluated by increasing the probability of the obstacle being present at the position where the obstacle is detected by the second sensor, A mobile body that maintains an evaluation of the presence of an obstacle by maintaining a probability of the presence of an obstacle at a position where no obstacle is detected by the second sensor.
6. 6. The moving body according to claim 5, A moving body in which the degree of increase in the probability of an obstacle being detected by the first sensor in an area of the obstacle map corresponding to the first area is greater than the degree of increase in the probability of an obstacle being detected by the second sensor in an area of the obstacle map corresponding to the second area.
7. 2. The moving body according to claim 1, The evaluation of the presence or absence of an obstacle in the obstacle map is expressed as a probability of the presence of the obstacle; The control device In an area of the obstacle map corresponding to the first area, The presence of an obstacle is positively evaluated by increasing the probability of the obstacle being present at the position where the obstacle is detected by the first sensor, negatively assessing the presence of an obstacle by reducing the probability of the obstacle being present at a position where the obstacle is not detected by the first sensor; In an area of the obstacle map corresponding to the second area, The presence of an obstacle is positively evaluated by increasing the probability of the obstacle being present at the position where the obstacle is detected by the second sensor, A moving body that negatively evaluates the probability of an obstacle being present at a position where no obstacle is detected by the second sensor at a degree that is smaller than the degree of reduction in the probability of an obstacle being present in the detection range of the first sensor, thereby negatively evaluating the probability at a degree that is smaller than the negative evaluation of the detection range of the first sensor.
8. 8. The moving body according to claim 1, The mobile body is a mobile robot, the mobile body including a robot arm.
9. A control device for a mobile body that generates an obstacle map showing the positions of obstacles by evaluating the presence or absence of obstacles based on detection results of a plurality of sensors that are disposed on a mobile body of a mobile body and detect objects around the mobile body, the plurality of sensors include a first sensor and a second sensor having a lower accuracy of detecting an obstacle than the first sensor; In the obstacle map, an initial value for evaluating the presence of an obstacle is set in advance, a first area that moves together with the mobile body and to which a detection result by the first sensor is assigned, and a second area that moves together with the mobile body and to which a detection result by the second sensor is assigned are set around the mobile body; In an area of the obstacle map corresponding to the first area, Affirming the presence of an obstacle at a position where the obstacle is detected by the first sensor, Negating the presence of an obstacle at a position where no obstacle is detected by the first sensor; In an area of the obstacle map corresponding to the second area, Affirming the presence of an obstacle at a position where the obstacle is detected by the second sensor, A control device that maintains an assessment of the presence of an obstacle at a position where no obstacle is detected by the second sensor, or that negatively assesses the presence of an obstacle at a position where no obstacle is detected by the second sensor to a degree of negation that is smaller than a negative assessment within the detection range of the first sensor.
10. 1. A method for generating an obstacle map, comprising: Evaluating the presence or absence of an obstacle based on detection results of a plurality of sensors that are disposed on a main body of the moving object and detect objects around the main body of the moving object; generating an obstacle map indicating the location of the obstacles by assessing the presence or absence of the obstacles; the plurality of sensors include a first sensor and a second sensor having a lower accuracy of detecting an obstacle than the first sensor; In the obstacle map, an initial value for evaluating the presence of an obstacle is set in advance, a first area that moves together with the mobile body and to which a detection result by the first sensor is assigned, and a second area that moves together with the mobile body and to which a detection result by the second sensor is assigned are set around the mobile body; In generating the obstacle map, In an area of the obstacle map corresponding to the first area, Affirming the presence of an obstacle at a position where the obstacle is detected by the first sensor, Negating the presence of an obstacle at a position where no obstacle is detected by the first sensor; In an area of the obstacle map corresponding to the second area, Affirming the presence of an obstacle at a position where the obstacle is detected by the second sensor, A method for generating an obstacle map, which maintains an assessment of the presence of an obstacle at a position where no obstacle is detected by the second sensor, or negatively assesses the presence of an obstacle at a position where no obstacle is detected by the second sensor to a degree of negation that is less than the negative assessment within the detection range of the first sensor.
11. An obstacle map generation program, a function of evaluating the presence or absence of an obstacle based on detection results of a plurality of sensors that are disposed on the main body of the moving body and detect objects around the main body of the moving body; and generating an obstacle map showing the location of the obstacles by evaluating the presence or absence of the obstacles. the plurality of sensors include a first sensor and a second sensor having a lower accuracy of detecting an obstacle than the first sensor; In the obstacle map, an initial value for evaluating the presence of an obstacle is set in advance, a first area that moves together with the mobile body and to which a detection result by the first sensor is assigned, and a second area that moves together with the mobile body and to which a detection result by the second sensor is assigned are set around the mobile body; In the function of generating the obstacle map, In an area of the obstacle map corresponding to the first area, Affirming the presence of an obstacle at a position where the obstacle is detected by the first sensor, Negating the presence of an obstacle at a position where no obstacle is detected by the first sensor; In an area of the obstacle map corresponding to the second area, Affirming the presence of an obstacle at a position where the obstacle is detected by the second sensor, An obstacle map generation program that maintains an assessment of the presence of an obstacle at a position where no obstacle is detected by the second sensor, or that negatively assesses the presence of an obstacle at a position where no obstacle is detected by the second sensor to a degree of negation that is smaller than a negative assessment within the detection range of the first sensor.
Citation Information
Patent Citations
Autonomous mobile device and movement control system
JP2018156576A
Moving body monitoring system, and moving body monitoring method
JP2021149344A
Method of operating mobile robot to follow person
JP2014195868A