WO2022004385A1 - 情報処理装置、情報処理方法、及びプログラム - Google Patents
情報処理装置、情報処理方法、及びプログラム Download PDFInfo
- Publication number
- WO2022004385A1 WO2022004385A1 PCT/JP2021/022853 JP2021022853W WO2022004385A1 WO 2022004385 A1 WO2022004385 A1 WO 2022004385A1 JP 2021022853 W JP2021022853 W JP 2021022853W WO 2022004385 A1 WO2022004385 A1 WO 2022004385A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- information processing
- information
- generation unit
- moving body
- processing device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
Definitions
- This technology relates to information processing devices, information processing methods, and programs applicable to control of autonomous movement.
- the mobile control device described in Patent Document 1 acquires distance point data for obstacles around the mobile. Based on the distance point data, a polygon map showing the outline of the obstacle is generated. If it is determined that the movement route calculated on the grid-like grid map showing the movement environment of the moving object cannot pass based on the generated polygon map, the movement route is corrected. Thereby, the optimum movement route is set (paragraph [0015] [0029] FIG. 3 of Patent Document 1 and the like).
- the purpose of this technology is to provide an information processing device, an information processing method, and a program capable of creating a highly accurate map with a small amount of calculation.
- the information processing apparatus includes a generation unit.
- the generation unit creates the obstacle based on the occupancy rate information on a map including occupancy rate information indicating the probability of presence or absence of an obstacle at each position generated by the detection result from the sensor. Generate one or more regions with boundary representation for estimation.
- the boundary representation is used according to the occupancy rate information.
- the above area is generated. This makes it possible to create a highly accurate map with a small amount of calculation.
- the generation unit may generate one or more regions based on the occupancy rate information expressed as a rotation speed.
- the one or more areas may be a plurality of areas.
- the generation unit may change the occupancy rate information based on the distance between the plurality of regions.
- the generation unit may change the occupancy rate information based on the distance between a predetermined point in the one or more regions and a boundary constituting the one or more regions.
- the generation unit may superimpose the one or more regions based on the occupancy rate information.
- the sensor may include a distance measuring sensor.
- the generation unit may generate each of the one or more regions based on the distance information from the distance measuring sensor.
- the generation unit may determine the boundaries constituting the one or more regions based on the distance information.
- the sensor may be mounted on a moving body.
- the information processing apparatus may further include an estimation unit that estimates the position of the moving body.
- the sensor may be mounted on a moving body.
- the information processing apparatus may further include a determination unit for determining whether or not the amount of calculation for estimating the position of the moving body exceeds a predetermined threshold value.
- the generation unit may control one or more regions based on the boundary representation based on the determination result of the determination unit.
- the generation unit may delete the region represented by the boundary representation based on the determination result of the determination unit and the position of the moving body.
- the generation unit may delete the region represented by the boundary representation based on the determination result of the determination unit and the path of the moving body.
- the information processing device may further include a route generation unit that generates a route for a mobile body having the sensor based on a map in which one or more regions are generated.
- the sensor may include LiDAR (Light Detection and Ringing).
- the information processing method is an information processing method executed by a computer system, and is an occupancy rate that indicates the probability of whether or not an obstacle exists at each position generated by the detection result from the sensor.
- an occupancy rate that indicates the probability of whether or not an obstacle exists at each position generated by the detection result from the sensor.
- For a map containing information it includes generating one or more regions by boundary representation for estimating the obstacle based on the occupancy information.
- a program causes a computer system to perform the following steps.
- FIG. 1 is a schematic diagram for explaining an outline of a map generation system according to the present technology.
- the map generation system 100 includes a mobile body 10 and an information processing device 20.
- the mobile body 10 and the information processing device 20 are communicably connected via a wire or a radio.
- the connection form between each device is not limited, and for example, wireless LAN communication such as WiFi and short-range wireless communication such as Bluetooth (registered trademark) can be used.
- the mobile body 10 is a robot capable of autonomous movement.
- the moving body 10 may be a drone capable of flying, a wheel-type robot, a multi-legged walking type robot, and a robot having legs having an articulated structure.
- the moving body 10 has a sensor unit capable of observing the surroundings of the moving body 10.
- LiDAR Light Detection and Ranging, Laser Imaging Detection and Ranging
- an image pickup device such as a stereo camera, a digital camera, and a monocular camera
- a sensor device such as a laser ranging sensor, a contact sensor, an ultrasonic sensor, and a sonar may be used.
- the mobile body 10 outputs the detection result from the sensor unit to the information processing device 20.
- the position of the obstacle 1 existing around the moving body 10, the shape of the obstacle 1, and the type of the obstacle 1 such as an animal body are transmitted to the information processing apparatus 20.
- the information processing apparatus 20 generates an area with one or more boundary representations according to the occupancy rate information for the map including the occupancy rate information generated by the data acquired from the sensor unit.
- the boundary of the region (the line segment constituting the region) is generated based on the distance information acquired from LiDAR or the like.
- the occupancy rate information is information indicating the probability of whether or not the obstacle 1 exists at each position.
- the information processing apparatus 20 generates occupancy rate information based on the detection result from the sensor unit.
- the boundary representation is an expression indicating whether or not an obstacle 1 exists in a predetermined area in the map.
- the occupancy rate information is expressed as a region where the obstacle 1 is unlikely to exist inside the region and a region where the obstacle 1 is likely to exist outside the region.
- the occupancy rate information is expressed by the number of rotations as the boundary representation.
- the rotation speed is an integer representing the total number of rotations counterclockwise with respect to the region. For example, with the point at infinity outside the region, the rotation speed of the clockwise region 2 is -1, and the rotation speed of the counterclockwise region 3 is +1.
- the area at the point at infinity (rotational speed 0) outside the area is treated as an unknown area. That is, it is an area where it is unknown whether or not an obstacle exists.
- the clockwise (rotational speed is negative) region is a region where there is a high possibility that no obstacle exists.
- the counterclockwise region (the rotation speed is positive) is a region where an obstacle is likely to exist.
- a part or all of the area represented by the boundary representation (hereinafter referred to as a rotation area) is superimposed. For example, when the counterclockwise rotation region is superimposed in the counterclockwise rotation region (rotation speed + 1 region), the rotation speed of the rotation region becomes +2. Further, for example, when the counterclockwise rotation region is superimposed in the clockwise rotation region (region of rotation speed -1), the rotation speed of the rotation region becomes 0.
- the information processing apparatus 20 outputs a map (hereinafter referred to as an area map) in which a rotation area is generated.
- the output area map is output to the moving body 10 and used for route generation in the autonomous movement of the moving body 10.
- the path of the moving body 10 may be generated by a cost function such as reducing the cost of a portion having a large rotation speed in the rotation region.
- the information processing apparatus 20 may present the area map to the user.
- the area map may be presented to a PC, a smartphone, or the like for controlling the mobile body 10 owned by the user.
- the map includes map information prepared in advance and map information of the surroundings generated by the moving body 10 such as SLAM (Simultaneous Localization and Mapping).
- SLAM Simultaneous Localization and Mapping
- FIG. 2 is a block diagram showing a functional configuration example of the map generation system 100.
- the map generation system 100 includes a mobile body 10 and an information processing device 20.
- the mobile body 10 has a drive system control unit 11, an external information detection unit 12, a state detection unit 13, a sensor unit 14, and a map acquisition unit 15.
- the drive system control unit 11 generates various control signals of the moving body 10 and controls various devices related to the driving system of the moving body.
- the moving body 10 includes a servomotor that can specify the angle and torque provided in each joint of the four legs, a motion controller that decomposes and replaces the movement of the robot itself into the movements of the four legs, and each of them. It is equipped with a feedback control device using a sensor inside the motor and a sensor on the back of the foot.
- the moving body 10 includes a motor having four or six propellers upward, and a motion controller that decomposes and replaces the moving movement of the robot itself into the rotation amount of each motor.
- the moving body 10 includes a driving force generating device for generating a driving force of an internal combustion engine or a driving motor, a driving force transmitting mechanism for transmitting the driving force to the wheels, a steering mechanism for adjusting the steering angle, and the like.
- a braking device that generates a braking force an ABS (Antilock Brake System), an ESC (Electronic Stability Control), an electric power steering device, and the like may be provided.
- the external information detection unit 12 performs detection processing of external information of the moving body 10 based on the detection result from the sensor unit 14. For example, the external information detection unit 12 performs detection processing, recognition processing, and tracking processing of obstacles around the moving body 10, and detection processing of the distance to the obstacle. Further, for example, the external information detection unit 12 performs detection processing of the environment around the moving body 10.
- the surrounding environment to be detected includes, for example, weather, temperature, humidity, brightness, road surface condition, and the like.
- the external information detection unit 12 supplies data indicating the result of the detection process to the information acquisition unit 21.
- the state detection unit 13 detects the state of the moving body 10 based on the data or signal from the drive system control unit 11. For example, the state detection unit 13 detects the speed, acceleration, steering angle, presence / absence and content of abnormality of the moving body 10, and the state of other moving body-mounted devices. In the present embodiment, the state detection unit 13 supplies data indicating the result of the detection process to the information acquisition unit 21.
- the sensor unit 14 observes the surroundings of the moving body 10.
- the detection result acquired by the sensor unit 14 is supplied to the external information detection unit 12 and the information acquisition unit 21.
- the map acquisition unit 15 acquires a map around the moving body 10 or around the moving route of the moving body 10. For example, when the moving body 10 moves the first floor of the building, the map acquisition unit 15 acquires the map of the first floor of the building. In this case, a map of the first floor of the building prepared in advance may be input, or the map may be generated by observing the surroundings of the moving body 10 by the self-position estimation unit 22. In the present embodiment, the acquired map is supplied to the information acquisition unit 21.
- the information processing device 20 has hardware necessary for configuring a computer, such as a processor such as a CPU, GPU, or DSP, a memory such as a ROM or RAM, and a storage device such as an HDD (see FIG. 8).
- a computer such as a processor such as a CPU, GPU, or DSP, a memory such as a ROM or RAM, and a storage device such as an HDD (see FIG. 8).
- the information processing method according to the present technology is executed by the CPU loading and executing the program according to the present technology recorded in advance in the ROM or the like into the RAM.
- the information processing apparatus 20 can be realized by any computer such as a PC.
- hardware such as FPGA and ASIC may be used.
- the area generation unit as a functional block is configured by the CPU executing a predetermined program.
- dedicated hardware such as an IC (integrated circuit) may be used.
- the program is installed in the information processing apparatus 20 via, for example, various recording media. Alternatively, the program may be installed via the Internet or the like.
- the type of recording medium on which the program is recorded is not limited, and any computer-readable recording medium may be used. For example, any non-transient storage medium readable by a computer may be used.
- the information processing apparatus 20 includes an information acquisition unit 21, a self-position estimation unit 22, an occupancy rate information generation unit 23, an area generation unit 24, a determination unit 25, an area map output unit 26, and a route generation unit. Has 27.
- the information acquisition unit 21 acquires various information.
- the information acquisition unit 21 acquires various information from the moving body 10. For example, the detection result regarding an object around the moving body 10 or an obstacle such as a wall is acquired. Further, the information acquisition unit 21 outputs various acquired information to the self-position estimation unit 22 and the occupancy rate information generation unit 23.
- the self-position estimation unit 22 is the position of the moving body 10 based on the data or signals from the external information detection unit 12, the state detection unit 13, the sensor unit 14, and the map acquisition unit 15 acquired by the information acquisition unit 21. And estimation processing such as posture is performed. Further, the self-position estimation unit 22 stores the time-series information supplied in the time series in the database based on the detection result supplied from the sensor unit 14, and also stores the self-position based on the accumulated time-series information. Estimate and output as time-series information self-position. Further, the self-position estimation unit 22 estimates the self-position based on the current detection result supplied from the sensor unit 14, and outputs the current information self-position.
- the self-position estimation unit 22 outputs the self-position estimation result by integrating or switching between the time-series information self-position and the current information self-position. Further, the self-position estimation unit 22 detects the posture of the moving body 10 based on the detection result supplied from the sensor unit 14, changes in the posture are detected, the self-position changes significantly, and the time-series information self. When the position estimation accuracy is considered to be reduced, the self-position is estimated only from the current information self-position. Further, the self-position estimation unit 22 generates a map used for self-position estimation by SLAM or the like. In the present embodiment, the self-position of the moving body 10 estimated by the self-position estimation unit 22 is supplied to the occupancy rate information generation unit 23 and the route generation unit 27.
- the occupancy rate information generation unit 23 generates occupancy rate information based on the detection result from the sensor unit 14. In the present embodiment, the occupancy rate information generation unit 23 generates occupancy rate information based on the detection result and the self-position of the moving body 10. For example, the occupancy rate information generation unit 23 generates occupancy rate information at each position on the map based on the acquired map and the position information of the obstacle. In the present embodiment, the occupancy rate information generation unit 23 outputs the generated occupancy rate information to the area generation unit 24.
- the area generation unit 24 generates one or more rotation areas according to the occupancy rate information.
- the area generation unit 24 generates a rotation area according to the occupancy rate information generated by the occupancy rate information generation unit 23 with respect to the acquired map.
- the region generation unit 24 generates a rotation region at the estimated self-position of the moving body 10.
- the area generation unit 24 can change the occupancy rate information in the rotation area. For example, when the rotation regions are superimposed, the region generation unit 24 adds the rotation speeds of the rotation regions. Specifically, when the counterclockwise rotation region B is superimposed on the counterclockwise rotation region A, the rotation speed of the rotation region B becomes +2. Further, the area generation unit 24 changes the occupancy rate information according to the distance between the rotation areas. For example, the region generation unit 24 changes the occupancy rate information based on the distance between a predetermined point in the rotation region and the boundary of the rotation region.
- the determination unit 25 determines whether or not the amount of calculation required for various processes exceeds a predetermined threshold value. In the present embodiment, the determination unit 25 determines whether or not the amount of calculation for estimating the self-position of the moving body 10 exceeds a predetermined threshold value. For example, the determination unit 25 determines based on the performance of processing the calculation of the mobile body 10 or the information processing apparatus 20. Further, when the calculation amount exceeds a predetermined threshold value according to the determination result of the determination unit 25, the rotation area is controlled by the area generation unit 24. For example, when a region map including many rotation regions is generated on the map, the rotation region is deleted by the region generation unit 24.
- the region generation unit 24 deletes the rotation region based on the distance between the movement direction (path) of the moving body 10 and the rotation region. For example, the region generation unit 24 deletes a rotation region existing in a direction opposite to the movement direction of the moving body 10. Further, for example, the region generation unit 24 deletes a rotation region that is separated from the path of the moving body 10 by a predetermined threshold value or more.
- the area map output unit 26 outputs an area map including the rotation area generated by the area generation unit 24.
- the area map controlled by the area generation unit 24 is output based on the determination result of the determination unit 25.
- the output area map may be presented to the user's PC or the like.
- the route generation unit 27 generates a movement route through which the moving body 10 passes.
- the route generation unit 27 generates the movement route of the moving body 10 based on the area map output by the area map output unit 26.
- a movement path of the moving body 10 is generated by a cost function in which the cost of the counterclockwise rotation region is higher than the cost of the clockwise rotation region.
- the movement path includes the path through which the moving body 10 passes, and the movement of the moving body 10 such as start, stop, traveling direction (for example, forward, backward, direction change, etc.), and moving speed.
- the movement path also includes a flight pattern of the moving body 10.
- the locus and speed defined as a pattern such as a turn and a figure of eight are also included in the action plan and the motion plan.
- the speed, curvature, or the like of the moving body 10 when making the turn or the figure of eight is generated as a movement path.
- the method of generating the movement route is not limited, for example, A * algorithm (A star search algorithm) that divides the environment in a grid pattern and optimizes the arrival judgment and the weight of the route to generate the best path, and self.
- An RRT (Rapidly-exploring Random Tree) algorithm or the like that extends the path from the position to the place where the incremental can be reached while appropriately pruning may be used.
- the occupancy rate information generation unit 23 and the area generation unit 24 are maps including occupancy rate information generated by the detection result from the sensor and showing the probability of whether or not an obstacle exists at each position.
- it functions as a generation unit that generates one or more regions by boundary representation for estimating the obstacle based on the occupancy rate information.
- the self-position estimation unit 22 corresponds to an estimation unit that estimates the position of a moving body having a sensor.
- the determination unit 25 corresponds to a determination unit that determines whether or not the calculation amount for estimating the position of the moving body exceeds a predetermined threshold value.
- the route generation unit 27 corresponds to a route generation unit that generates a movement route related to the movement of a moving body having a sensor based on a map in which a region is generated.
- FIG. 3 is a flowchart showing an example of control of self-position estimation of the moving body 10.
- the self-position estimation unit 22 determines the initial position of the moving body 10 (step 101). For example, the self-position estimation unit 22 determines the initial position of the moving body 10 by using the odometry that estimates the current position from the rotation speed of the tire.
- the map acquisition unit 15 acquires a map around the moving body 10 (step 102).
- the sensor unit 14 acquires the detection result around the moving body 10.
- the occupancy rate information generation unit 23 generates occupancy rate information based on the detection result (step 103).
- the area generation unit 24 generates a rotation area for the acquired map (step 104).
- a clockwise rotation region is generated in the region where there is a high possibility that an obstacle does not exist.
- a counterclockwise rotation region is generated in the region where obstacles are likely to exist.
- the self-position estimation unit 22 samples the self-position of the moving body 10 according to the already estimated distribution of the self-position of the moving body 10 (step 105). Further, the self-position estimation unit 22 calculates the likelihood for each self-position of the sampled mobile body 10 by comparing the rotation region with the map (step 106). Further, the self-position estimation unit 22 predicts the distribution from the self-position and the likelihood of the moving body 10, and updates the distribution of the self-position of the moving body 10 (step 107). When the estimation of the self-position of the moving body 10 by the self-position estimation unit 22 is completed, the self-position estimation is completed (YES in step 108). When it becomes necessary to update the self-position of the moving body 10, the process returns to step 103 (NO in step 108). For example, the self-position estimation unit 22 updates the self-position estimation based on the passage of a predetermined time or the movement of the moving body 10 by a predetermined distance.
- FIG. 4 is a flowchart showing an example of map area generation.
- the self-position estimation unit 22 determines the initial position of the moving body 10 (step 201).
- the area generation unit 24 initializes the area map (step 202). It was generated when the environment around the moving body 10 changed, for example, when the moving body 10 moved from the point where the area map was generated, or when an obstacle around the moving body 10 moved.
- the area map is initialized.
- the initialization includes the deletion of the rotation area and the map generated by SLAM or the like.
- step 203 After the area map is initialized, the processes of steps 103 to 107 shown in FIG. 3 are executed (step 203).
- the region generation unit 24 adds a rotation region to the estimated self-position of the moving body 10 on the map (step 204). For example, the region generation unit 24 adds a rotation region to the position according to the distribution of the self-position of the moving body 10.
- the determination unit 25 determines whether or not the amount of calculation required for estimating the self-position exceeds a predetermined threshold value (step 205).
- the region generation unit 24 deletes the rotation region with little influence from the region map (step 206).
- the fact that the influence is small means that the movement of the moving body 10 is not interfered with.
- the region generation unit 24 deletes a rotation region that is separated from the self-position of the moving body 10 or the moving path by a predetermined distance or more.
- the region generation unit 24 deletes a rotation region located in a direction opposite to the movement direction of the moving body 10. That is, the region generation unit 24 deletes the rotation region existing at a position that does not interfere with the movement of the moving body 10.
- the area map can be simplified and the amount of calculation can be reduced.
- the flow for generating the map area ends (YES in step 207). For example, if the area map contains sufficient information to generate the movement path of the moving body 10, the flow ends. If the output area map is not suitable for the intended use, or if the area map needs to be updated, the process returns to step 203 (NO in step 207).
- FIG. 5 is a schematic diagram showing an example of a rotation region.
- the example shown in FIG. 5 shows a state in which the rotation region is completely included (superimposed).
- the region generation unit 24 provides a clockwise circular rotation region 30, a counterclockwise rectangular rotation region 31 within the rotation region 30, and a counterclockwise rectangular rotation region. 32 and a counterclockwise pentagonal rotation region 33 within the rotation region 32 are generated.
- the occupancy rate information in the rotation region 30 is expressed as -1 as the rotation speed. Further, since the rotation direction (direction) of the rotation region 31 is counterclockwise, the occupancy information in the rotation region 30 becomes 0 by adding 1 to -1. The occupancy rate information in the rotation region 32 is +1. Further, the occupancy rate information in the rotation region 32 becomes +2 by adding 1 to +1 because the direction of the rotation region 33 is counterclockwise.
- FIG. 6 is a schematic diagram showing another example of the rotation region.
- the example shown in FIG. 6 shows a state in which a part of the rotation region is included.
- the region generation unit 24 generates a counterclockwise rectangular rotation region 35, a counterclockwise rectangular rotation region 36, and a clockwise circular rotation region 37. To.
- the occupancy information of the rectangular rotation region 35 (region 38 and region 39) on which the rectangular rotation region 36 and the circular rotation region 37 are not superimposed is rotated. It is expressed as +1 as a number.
- the occupancy rate information of the rectangular rotation region 36 (region 40 and region 41) on which the rectangular rotation region 35 and the circular rotation region 37 are not superimposed is expressed as +1 as the rotation speed.
- the occupancy rate information of the circular rotation region 37 (region 42 and region 43) on which the rectangular rotation region 35 and the quadrangular rotation region 36 are not superimposed is expressed as -1 as the rotation speed.
- the occupancy information of the area 44 which is not superimposed on the circular rotation area 37 and is superimposed on the rectangular rotation area 35 and the rectangular rotation area 36, is counterclockwise in both directions, so by adding 1 to +1 It becomes +2. Further, the occupancy information of the region 45 and the region 46, which are not superimposed on the rectangular rotation region 36 and are superimposed on the rectangular rotation region 35 and the circular rotation region 37, is 0 because the directions are opposite. Similarly, the rotation speed of the occupancy information of the region 47 that is not superimposed on the rectangular rotation region 35 and is superimposed on the rectangular rotation region 36 and the circular rotation region 37 is also 0.
- the occupancy information of the area 48 on which the rectangular rotation area 35, the rectangular rotation area 36, and the circular rotation area 37 overlap is rotated because there is one clockwise rotation area and two counterclockwise rotation areas.
- the number becomes +1.
- FIG. 7 is a schematic diagram showing another example of the rotation region.
- the region generation unit 24 generates a counterclockwise rotation region 50.
- the line segment 51 and the line segment 52 intersect. That is, one rotation region 50 has two regions by a region 53 and a region 54 surrounded by a line segment.
- the occupancy rate information of the area 53 is counterclockwise, so it is expressed as +1 as the rotation speed. Further, the occupancy rate information of the area 54 is expressed as -1 as the rotation speed because the direction is clockwise.
- the information processing apparatus 20 has a map generated by the detection result from the sensor unit 14 and including the occupancy rate information indicating the probability of the existence of the obstacle 1 at each position.
- a rotation region with one or more boundary representations is generated according to the occupancy rate information. This makes it possible to create a highly accurate map with a small amount of calculation.
- map information In general, it is necessary to store map information when a robot or the like refers to a map created in advance to perform self-position estimation, or when performing SLAM or the like that simultaneously performs self-position estimation and map generation.
- the representation was performed with a grid-like data structure.
- For a grid-like data structure it is necessary to determine the grid width at the time of generation, and in principle it is difficult to express a shape finer than the grid width.
- the grid width is made finer, the required storage amount and the calculation amount are rapidly increased, so that there is a limit to improving the accuracy by making the grid width finer.
- High-precision positioning is required depending on the task of the robot, such as when the robot grabs an object or when passing through a narrow passage.
- high-precision positioning requires high-precision self-position estimation, and when high real-time performance is required for high-speed operation of the robot or when a computer with low performance is used for edge processing, etc. Is required to reduce the amount of calculation.
- one or more boundary representations are expressed according to the occupancy rate information.
- a rotation area is generated by. This makes it possible to realize self-position estimation and SLAM that are resistant to disturbance with high accuracy and a small amount of calculation. By including a part or all of a plurality of rotation regions, it is possible to efficiently express a small difference or a large difference in the occupancy rate information.
- the memory usage is O (A / p ⁇ 2) in the case of a grid-like data structure.
- the processing time is O (A / p ⁇ 2).
- the memory usage is O (A / p).
- the processing time is O (A / plowA / p). That is, since the accuracy is not restricted by the grid width and the occupancy rate for each part can be expressed, highly accurate self-position estimation by accumulating time series data can be efficiently processed.
- the information on the map is often sparse. Therefore, since the boundary representation handles only the part where the numerical value changes, it is possible to shorten the processing time and save the memory for sparse information.
- the occupancy rate information in the rotation region is expressed as a constant.
- the occupancy rate information may be changed according to the distance from the boundary of the rotation region (the line segment constituting the rotation region).
- a parameter of a function indicating the relationship between the change of the occupancy rate information at the distance from the boundary may be set with respect to the set of the rotation areas, the rotation area, or the boundary of the rotation area. This makes it possible to express a smooth change in the occupancy rate.
- one map area includes a region where an obstacle is likely to be present (counterclockwise rotation region) and a region where an obstacle is unlikely to be present (clockwise rotation region).
- a map area representing an area where an obstacle is likely to exist and a map area representing an area where an obstacle is unlikely to exist may be processed separately.
- the number of rotations at the point at infinity is expressed as 0.
- the occupancy rate at an infinity point or a predetermined point is stored, and the occupancy rate information of the rotation region may be changed based on the stored occupancy rate information.
- the occupancy rate information that occupies most of the entire map area can be efficiently expressed by different maps.
- the rotation speed is added by including the rotation region.
- various arithmetic processes may be performed. For example, sign inversion, four arithmetic operations, Booleans such as AND / OR / XOR, application of functions, and the like may be performed. Further, translation of the rotation region, enlargement / reduction of the rotation region, rotation of the rotation region, offset of the rotation region, and the like may be performed. As a result, the calculation can be performed with a smaller amount of calculation than the grid-shaped data structure.
- the area map including the rotation area was output.
- clipping processing may be performed to cut out only the part necessary for the processing.
- clipping processing may be performed on a portion where a counterclockwise rotation region exists. As a result, the amount of processing can be reduced.
- the rotation speed of the counterclockwise rotation region is expressed as +1 and the rotation speed of the clockwise rotation region is expressed as -1.
- the number of rotations in the clockwise rotation region may be expressed as +1.
- the occupancy rate information may be expressed by expressions other than numbers.
- an area map including occupancy rate information indicating the probability that an obstacle exists at each position is output.
- the present invention is not limited to this, and for example, the possibility that a target being searched for a moving object may exist may be expressed by a boundary representation. That is, the present technology is applicable to data that can be expected to be sparse with respect to space, in addition to the occupancy rate.
- FIG. 8 is a block diagram showing a hardware configuration example of the information processing apparatus 20.
- the information processing apparatus 20 includes a CPU 201, a ROM 202, a RAM 203, an input / output interface 205, and a bus 204 connecting these to each other.
- a display unit 206, an input unit 207, a storage unit 208, a communication unit 209, a drive unit 210, and the like are connected to the input / output interface 205.
- the display unit 206 is a display device using, for example, a liquid crystal display, an EL, or the like.
- the input unit 207 is, for example, a keyboard, a pointing device, a touch panel, or other operation device. When the input unit 207 includes a touch panel, the touch panel may be integrated with the display unit 206.
- the storage unit 208 is a non-volatile storage device, for example, an HDD, a flash memory, or other solid-state memory.
- the drive unit 210 is a device capable of driving a removable recording medium 211 such as an optical recording medium or a magnetic recording tape.
- the communication unit 209 is a modem, router, or other communication device for communicating with other devices that can be connected to a LAN, WAN, or the like.
- the communication unit 209 may communicate using either wired or wireless.
- the communication unit 209 is often used separately from the information processing device 20.
- Information processing by the information processing device 20 having the hardware configuration as described above is realized by the cooperation between the software stored in the storage unit 208 or the ROM 202 or the like and the hardware resources of the information processing device 20.
- the information processing method according to the present technology is realized by loading the program constituting the software stored in the ROM 202 or the like into the RAM 203 and executing the program.
- the program is installed in the information processing apparatus 20 via, for example, the recording medium 211.
- the program may be installed in the information processing apparatus 20 via a global network or the like.
- any non-transient storage medium that can be read by a computer may be used.
- the information processing device, information processing method, and program related to this technology are executed by linking the computer mounted on the communication terminal with another computer that can communicate via a network or the like, and the information processing device related to this technology. May be constructed.
- the information processing apparatus, information processing method, and program according to the present technology can be executed not only in a computer system composed of a single computer but also in a computer system in which a plurality of computers operate in conjunction with each other.
- the system means a set of a plurality of components (devices, modules (parts), etc.), and it does not matter whether or not all the components are in the same housing. Therefore, a plurality of devices housed in separate housings and connected via a network, and one device in which a plurality of modules are housed in one housing are both systems.
- the computer system executes the information processing device, the information processing method, and the program according to the present technology, for example, the generation of the occupancy rate information, the generation of the rotation area, the output of the area map, and the like are executed by a single computer. , And when each process is performed by a different computer. Further, the execution of each process by a predetermined computer includes having another computer execute a part or all of the process and acquiring the result.
- the information processing device, information processing method, and program according to the present technology can be applied to a cloud computing configuration in which one function is shared by a plurality of devices via a network and jointly processed. ..
- the effects described in the present disclosure are merely examples and are not limited, and other effects may be obtained.
- the description of the plurality of effects described above does not necessarily mean that the effects are exerted at the same time. It means that at least one of the above-mentioned effects can be obtained depending on the conditions and the like, and of course, there is a possibility that an effect not described in the present disclosure may be exhibited.
- this technology can also adopt the following configurations.
- the obstacle is estimated based on the occupancy rate information on the map including the occupancy rate information indicating the probability of whether or not the obstacle exists at each position generated by the detection result from the sensor.
- An information processing device including a generation unit that generates one or more areas by a boundary representation for the purpose.
- the generation unit is an information processing device that generates one or more regions based on the occupancy rate information expressed as a rotation speed.
- the one or more regions are a plurality of regions.
- the generation unit is an information processing device that changes the occupancy rate information based on the distance between the plurality of regions. (4) The information processing apparatus according to (3).
- the generation unit is an information processing device that changes the occupancy rate information based on the distance between a predetermined point in the one or more regions and a boundary constituting the one or more regions. (5) The information processing apparatus according to any one of (1) to (4). The generation unit is an information processing device that superimposes one or more regions based on the occupancy rate information. (6) The information processing apparatus according to any one of (1) to (5).
- the sensor includes a distance measuring sensor.
- the generation unit is an information processing device that generates each of the one or more regions based on the distance information from the distance measuring sensor. (7) The information processing apparatus according to (6).
- the generation unit is an information processing device that determines boundaries constituting the one or more regions based on the distance information. (8) The information processing apparatus according to any one of (1) to (7).
- the sensor is mounted on a moving body and is mounted on a moving body.
- the information processing device is further provided with an estimation unit for estimating the position of the moving body.
- the information processing apparatus according to any one of (1) to (8).
- the sensor is mounted on a moving body and is mounted on a moving body.
- the information processing device is further provided with a determination unit for determining whether or not the amount of calculation required for estimating the position of the moving body exceeds a predetermined threshold value.
- the generation unit is an information processing device that deletes an area based on the boundary representation based on the determination result of the determination unit and the position of the moving body.
- the generation unit is an information processing device that deletes an area based on the boundary representation based on the determination result of the determination unit and the path of the moving body.
- the information processing apparatus according to any one of (1) to (13).
- the sensor is an information processing device including LiDAR (Light Detection and Ranging).
- Boundary for estimating the obstacle based on the occupancy information for a map containing occupancy information indicating the probability of presence of an obstacle at each position generated by the detection result from the sensor An information processing method in which a computer system executes to generate one or more areas by expression.
- a boundary for estimating the obstacle based on the occupancy information for a map containing occupancy information indicating the probability of presence or absence of an obstacle at each position generated by the detection result from the sensor. A program that causes a computer system to perform steps to generate one or more areas of representation.
Landscapes
- Engineering & Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本願の情報処理装置の生成部は、センサからの検出結果により生成された、各位置に障害物が存在するかどうかの確率を示す占有率情報を含む地図に対して、前記占有率情報に基づいて前記障害物を推定するための境界表現による1以上の領域を生成する。これにより、少ない計算量で、高精度な地図作成が可能となる。また外乱に強い自己位置推定やSLAMを実現することが可能となる。
Description
本技術は、自律移動の制御等に適用可能な情報処理装置、情報処理方法、及びプログラムに関する。
特許文献1に記載の移動体制御装置では、移動体周囲の障害物に対する距離点データが取得される。距離点データに基づいて、障害物の外形を示すポリゴンマップが生成される。生成されたポリゴンマップに基づいて、移動体の移動環境を示す格子状のグリッドマップ上で算出された移動経路が通過不能と判断された場合、移動経路が修正される。これにより、最適な移動経路を設定することが図られている(特許文献1の段落[0015][0029]図3等)。
特許文献1のようにグリッド状のデータ構造でマップが生成された場合、自己位置推定の精度を向上するために格子幅を細かくした場合、計算量が膨大になる問題があった。このように、少ない計算量で、高精度な地図作成を可能とする技術が求められている。
以上のような事情に鑑み、本技術の目的は、少ない計算量で、高精度な地図作成が可能な情報処理装置、情報処理方法、及びプログラムを提供することにある。
上記目的を達成するため、本技術の一形態に係る情報処理装置は、生成部を具備する。
前記生成部は、センサからの検出結果により生成された、各位置に障害物が存在するかどうかの確率を示す占有率情報を含む地図に対して、前記占有率情報に基づいて前記障害物を推定するための境界表現による1以上の領域を生成する。
前記生成部は、センサからの検出結果により生成された、各位置に障害物が存在するかどうかの確率を示す占有率情報を含む地図に対して、前記占有率情報に基づいて前記障害物を推定するための境界表現による1以上の領域を生成する。
この情報処理装置では、センサからの検出結果により生成された、各位置に障害物が存在するかどうかの確率を示す占有率情報を含む地図に対して、占有率情報に応じて境界表現による1以上の領域が生成される。これにより、少ない計算量で、高精度な地図作成が可能となる。
前記生成部は、回転数として表現された前記占有率情報に基づいて、前記1以上の領域を生成してもよい。
前記1以上の領域は、複数の領域であってもよい。この場合、前記生成部は、前記複数の領域間の距離に基づいて、前記占有率情報を変更してもよい。
前記生成部は、前記1以上の領域内における所定の点と前記1以上の領域を構成する境界との距離に基づいて、前記占有率情報を変更してもよい。
前記生成部は、前記占有率情報に基づいて、前記1以上の領域を重畳させてもよい。
前記センサは、測距センサを含んでもよい。この場合、前記生成部は、前記測距センサからの距離情報に基づいて、前記1以上の領域の各々を生成してもよい。
前記生成部は、前記距離情報に基づいて、前記1以上の領域を構成する境界を決定してもよい。
前記センサは、移動体に搭載されてもよい。この場合、前記情報処理装置は、さらに、前記移動体の位置を推定する推定部を具備してもよい。
前記センサは、移動体に搭載されてもよい。この場合、前記情報処理装置は、さらに、前記移動体の位置の推定にかかる計算量が所定の閾値を超えるか否かを判定する判定部を具備してもよい。
前記生成部は、前記判定部の判定結果に基づいて、前記境界表現による1以上の領域を制御してもよい。
前記生成部は、前記判定部の判定結果と前記移動体の位置とに基づいて、前記境界表現による領域を削除してもよい。
前記生成部は、前記判定部の判定結果と前記移動体の経路とに基づいて、前記境界表現による領域を削除してもよい。
前記情報処理装置は、さらに、前記1以上の領域が生成された地図に基づいて、前記センサを有する移動体の経路を生成する経路生成部を具備してもよい。
前記センサは、LiDAR(Light Detection and Ranging)を含んでもよい。
本技術の一形態に係る情報処理方法は、コンピュータシステムが実行する情報処理方法であって、センサからの検出結果により生成された、各位置に障害物が存在するかどうかの確率を示す占有率情報を含む地図に対して、前記占有率情報に基づいて前記障害物を推定するための境界表現による1以上の領域を生成することを含む。
本技術の一形態に係るプログラムは、コンピュータシステムに以下のステップを実行させる。
センサからの検出結果により生成された、各位置に障害物が存在するかどうかの確率を示す占有率情報を含む地図に対して、前記占有率情報に基づいて前記障害物を推定するための境界表現による1以上の領域を生成するステップ。
センサからの検出結果により生成された、各位置に障害物が存在するかどうかの確率を示す占有率情報を含む地図に対して、前記占有率情報に基づいて前記障害物を推定するための境界表現による1以上の領域を生成するステップ。
以下、本技術に係る実施形態を、図面を参照しながら説明する。
図1は、本技術に係るマップ生成システムの概要を説明するための模式図である。
図1に示すように、マップ生成システム100は、移動体10及び情報処理装置20を有する。移動体10及び情報処理装置20は、有線又は無線を介して、通信可能に接続されている。各デバイス間の接続形態は限定されず、例えばWiFi等の無線LAN通信や、Bluetooth(登録商標)等の近距離無線通信を利用することが可能である。
図1に示すように、マップ生成システム100は、移動体10及び情報処理装置20を有する。移動体10及び情報処理装置20は、有線又は無線を介して、通信可能に接続されている。各デバイス間の接続形態は限定されず、例えばWiFi等の無線LAN通信や、Bluetooth(登録商標)等の近距離無線通信を利用することが可能である。
移動体10は、自律移動が可能なロボットである。例えば、移動体10は、飛行可能なドローン、車輪型のロボット、多足歩行型のロボット、及び多関節構造を有する脚部を備えるロボットでもよい。
本実施形態では、移動体10は、移動体10の周囲を観測可能なセンサ部を有する。例えば、センサ部は、LiDAR(Light Detection and Ranging、Laser Imaging Detection and Ranging)が用いられる。これ以外にも、ステレオカメラ、デジタルカメラ、単眼カメラ等の撮像装置、レーザ測距センサ、接触センサ、超音波センサ、ソナー等のセンサデバイスが用いられてもよい。
また本実施形態では、移動体10は、センサ部からの検出結果を情報処理装置20に出力する。例えば、移動体10の周囲に存在する障害物1の位置、障害物1の形状、及び動物体等の障害物1の種類が情報処理装置20に送信される。
本実施形態では、移動体10は、移動体10の周囲を観測可能なセンサ部を有する。例えば、センサ部は、LiDAR(Light Detection and Ranging、Laser Imaging Detection and Ranging)が用いられる。これ以外にも、ステレオカメラ、デジタルカメラ、単眼カメラ等の撮像装置、レーザ測距センサ、接触センサ、超音波センサ、ソナー等のセンサデバイスが用いられてもよい。
また本実施形態では、移動体10は、センサ部からの検出結果を情報処理装置20に出力する。例えば、移動体10の周囲に存在する障害物1の位置、障害物1の形状、及び動物体等の障害物1の種類が情報処理装置20に送信される。
情報処理装置20は、センサ部から取得されたデータによって生成された占有率情報を含む地図に対して、占有率情報に応じて1以上の境界表現による領域を生成する。例えば、領域の境界(領域を構成する線分)は、LiDAR等から取得される距離情報に基づいて、境界が生成される。
占有率情報とは、各位置に障害物1が存在するかどうかの確率を示す情報である。本実施形態では、情報処理装置20により、センサ部からの検出結果に基づいて、占有率情報が生成される。
境界表現とは、地図内の所定の領域における障害物1が存在するか否かを示す表現である。本実施形態では、例えば、領域の内側を障害物1が存在する可能性が低い領域、領域の外側を障害物1が存在する可能性が高い領域として、占有率情報が表現される。
占有率情報とは、各位置に障害物1が存在するかどうかの確率を示す情報である。本実施形態では、情報処理装置20により、センサ部からの検出結果に基づいて、占有率情報が生成される。
境界表現とは、地図内の所定の領域における障害物1が存在するか否かを示す表現である。本実施形態では、例えば、領域の内側を障害物1が存在する可能性が低い領域、領域の外側を障害物1が存在する可能性が高い領域として、占有率情報が表現される。
また本実施形態では、境界表現として、占有率情報が回転数で表現される。
回転数とは、領域に対して反時計回りに回った総回数を表す整数である。例えば、領域外を無限遠点として、時計回りの領域2の回転数は-1となり、反時計回りの領域3の回転数は+1となる。ここで、領域外の無限遠点(回転数0)の領域は未知の領域として扱う。すなわち、障害物が存在するか否か不明な領域である。
回転数とは、領域に対して反時計回りに回った総回数を表す整数である。例えば、領域外を無限遠点として、時計回りの領域2の回転数は-1となり、反時計回りの領域3の回転数は+1となる。ここで、領域外の無限遠点(回転数0)の領域は未知の領域として扱う。すなわち、障害物が存在するか否か不明な領域である。
図1に示すように、領域を構成する各線分の進行方向(矢印方向)に対して、左側は右側に対して障害物が存在する可能性が高いことを示す。
すなわち、時計回り(回転数が負)の領域は、障害物が存在しない可能性が高い領域である。また反時計回り(回転数が正)の領域は、障害物が存在する可能性が高い領域である。
また図1に示すように、境界表現による領域(以下、回転領域と記載)は、一部又は全てが重畳される。例えば、反時計回りの回転領域(回転数+1の領域)内に、反時計回りの回転領域が重畳された場合、回転領域の回転数は+2となる。また例えば、時計回りの回転領域(回転数-1の領域)内に、反時計回りの回転領域が重畳された場合、回転領域の回転数は0となる。
すなわち、時計回り(回転数が負)の領域は、障害物が存在しない可能性が高い領域である。また反時計回り(回転数が正)の領域は、障害物が存在する可能性が高い領域である。
また図1に示すように、境界表現による領域(以下、回転領域と記載)は、一部又は全てが重畳される。例えば、反時計回りの回転領域(回転数+1の領域)内に、反時計回りの回転領域が重畳された場合、回転領域の回転数は+2となる。また例えば、時計回りの回転領域(回転数-1の領域)内に、反時計回りの回転領域が重畳された場合、回転領域の回転数は0となる。
また情報処理装置20は、回転領域が生成された地図(以下、領域マップと記載)を出力する。本実施形態では、出力された領域マップは移動体10に出力され、移動体10の自律移動における経路生成に用いられる。例えば、回転領域の回転数が大きい箇所のコストを小さくする等のコスト関数によって移動体10の経路が生成されてもよい。
また情報処理装置20は、領域マップをユーザに提示してもよい。例えば、ユーザの有する移動体10を制御するためのPCやスマートフォン等に領域マップが提示されてもよい。
なお、地図とは、予め用意されたマップ情報、及びSLAM(Simultaneous Localization and Mapping)等の移動体10により生成された周囲のマップ情報を含む。
また情報処理装置20は、領域マップをユーザに提示してもよい。例えば、ユーザの有する移動体10を制御するためのPCやスマートフォン等に領域マップが提示されてもよい。
なお、地図とは、予め用意されたマップ情報、及びSLAM(Simultaneous Localization and Mapping)等の移動体10により生成された周囲のマップ情報を含む。
図2は、マップ生成システム100の機能的な構成例を示すブロック図である。
図2に示すように、マップ生成システム100は、移動体10及び情報処理装置20を有する。
図2に示すように、マップ生成システム100は、移動体10及び情報処理装置20を有する。
移動体10は、駆動系制御部11、外部情報検出部12、状態検出部13、センサ部14、及び地図取得部15を有する。
駆動系制御部11は、移動体10の各種の制御信号を生成し、移動体の駆動系に関わる各種の装置の制御を行う。
例えば、移動体10は、4本の足の各関節に備わった角度やトルクを指定可能なサーボモータ、ロボット自体の移動の動きを4本の足の動きに分解・置換するモーションコントローラ並びに、各モータ内のセンサや足裏面のセンサによるフィードバック制御装置を備える。
また例えば、移動体10は、4基ないし6基の機体上向きのプロペラを持つモータ、ロボット自体の移動の動きを各モータの回転量に分解・置換するモーションコントローラを備える。
また例えば、移動体10は、内燃機関又は駆動用モータ等の駆動力を発生させるための駆動力発生装置、駆動力を車輪に伝達するための駆動力伝達機構、舵角を調節するステアリング機構、制動力を発生させる制動装置、ABS(Antilock Brake System)、ESC(Electronic Stability Control)、並びに、電動パワーステアリング装置等を備えてもよい。
例えば、移動体10は、4本の足の各関節に備わった角度やトルクを指定可能なサーボモータ、ロボット自体の移動の動きを4本の足の動きに分解・置換するモーションコントローラ並びに、各モータ内のセンサや足裏面のセンサによるフィードバック制御装置を備える。
また例えば、移動体10は、4基ないし6基の機体上向きのプロペラを持つモータ、ロボット自体の移動の動きを各モータの回転量に分解・置換するモーションコントローラを備える。
また例えば、移動体10は、内燃機関又は駆動用モータ等の駆動力を発生させるための駆動力発生装置、駆動力を車輪に伝達するための駆動力伝達機構、舵角を調節するステアリング機構、制動力を発生させる制動装置、ABS(Antilock Brake System)、ESC(Electronic Stability Control)、並びに、電動パワーステアリング装置等を備えてもよい。
外部情報検出部12は、センサ部14からの検出結果に基づいて、移動体10の外部の情報の検出処理を行う。
例えば、外部情報検出部12は、移動体10の周囲の障害物の検出処理、認識処理、及び追跡処理、並びに、障害物までの距離の検出処理を行う。
また例えば、外部情報検出部12は、移動体10の周囲の環境の検出処理を行う。検出対象となる周囲の環境には、例えば、天候、気温、湿度、明るさ、及び路面の状態等が含まれる。
本実施形態では、外部情報検出部12は、検出処理の結果を示すデータを情報取得部21に供給する。
例えば、外部情報検出部12は、移動体10の周囲の障害物の検出処理、認識処理、及び追跡処理、並びに、障害物までの距離の検出処理を行う。
また例えば、外部情報検出部12は、移動体10の周囲の環境の検出処理を行う。検出対象となる周囲の環境には、例えば、天候、気温、湿度、明るさ、及び路面の状態等が含まれる。
本実施形態では、外部情報検出部12は、検出処理の結果を示すデータを情報取得部21に供給する。
状態検出部13は、駆動系制御部11からのデータ又は信号に基づいて、移動体10の状態を検出する。例えば、状態検出部13は、移動体10の速度、加速度、舵角、異常の有無及び内容、並びに、その他の移動体搭載機器の状態等の検出をする。
本実施形態では、状態検出部13は、検出処理の結果を示すデータを情報取得部21に供給する。
本実施形態では、状態検出部13は、検出処理の結果を示すデータを情報取得部21に供給する。
センサ部14は、移動体10の周囲を観測する。本実施形態では、センサ部14により取得された検出結果が外部情報検出部12及び情報取得部21に供給される。
地図取得部15は、移動体10の周囲、又は移動体10の移動する経路周辺の地図を取得する。例えば、地図取得部15は、移動体10に建物の1階を移動させる場合、該建物の1階の地図を取得する。この場合、予め用意されている該建物の1階の地図が入力されてもよいし、自己位置推定部22により移動体10の周囲が観測されることで地図が生成されてもよい。
本実施形態では、取得された地図が情報取得部21に供給される。
本実施形態では、取得された地図が情報取得部21に供給される。
情報処理装置20は、例えばCPUやGPU、DSP等のプロセッサ、ROMやRAM等のメモリ、HDD等の記憶デバイス等、コンピュータの構成に必要なハードウェアを有する(図8参照)。例えばCPUがROM等に予め記録されている本技術に係るプログラムをRAMにロードして実行することにより、本技術に係る情報処理方法が実行される。
例えばPC等の任意のコンピュータにより、情報処理装置20を実現することが可能である。もちろんFPGA、ASIC等のハードウェアが用いられてもよい。
本実施形態では、CPUが所定のプログラムを実行することで、機能ブロックとしての領域生成部が構成される。もちろん機能ブロックを実現するために、IC(集積回路)等の専用のハードウェアが用いられてもよい。
プログラムは、例えば種々の記録媒体を介して情報処理装置20にインストールされる。あるいは、インターネット等を介してプログラムのインストールが実行されてもよい。
プログラムが記録される記録媒体の種類等は限定されず、コンピュータが読み取り可能な任意の記録媒体が用いられてよい。例えば、コンピュータが読み取り可能な非一過性の任意の記憶媒体が用いられてよい。
例えばPC等の任意のコンピュータにより、情報処理装置20を実現することが可能である。もちろんFPGA、ASIC等のハードウェアが用いられてもよい。
本実施形態では、CPUが所定のプログラムを実行することで、機能ブロックとしての領域生成部が構成される。もちろん機能ブロックを実現するために、IC(集積回路)等の専用のハードウェアが用いられてもよい。
プログラムは、例えば種々の記録媒体を介して情報処理装置20にインストールされる。あるいは、インターネット等を介してプログラムのインストールが実行されてもよい。
プログラムが記録される記録媒体の種類等は限定されず、コンピュータが読み取り可能な任意の記録媒体が用いられてよい。例えば、コンピュータが読み取り可能な非一過性の任意の記憶媒体が用いられてよい。
図2に示すように、情報処理装置20は、情報取得部21、自己位置推定部22、占有率情報生成部23、領域生成部24、判定部25、領域マップ出力部26、及び経路生成部27を有する。
情報取得部21は、種々の情報を取得する。本実施形態では、情報取得部21は、移動体10から種々の情報を取得する。例えば、移動体10周辺の物体や壁等の障害物に関する検出結果が取得される。
また情報取得部21は、取得した各種の情報を自己位置推定部22及び占有率情報生成部23に出力する。
また情報取得部21は、取得した各種の情報を自己位置推定部22及び占有率情報生成部23に出力する。
自己位置推定部22は、情報取得部21により取得された、外部情報検出部12、状態検出部13、センサ部14、及び地図取得部15からのデータ又は信号に基づいて、移動体10の位置及び姿勢等の推定処理を行う。また自己位置推定部22は、センサ部14より供給される検出結果に基づいて、時系列に供給される時系列情報をデータベースに蓄積すると共に、蓄積した時系列の情報に基づいて、自己位置を推定し、時系列情報自己位置として出力する。
また自己位置推定部22は、センサ部14より供給される現在の検出結果に基づいて、自己位置を推定し、現在情報自己位置として出力する。そして、自己位置推定部22は、時系列情報自己位置と、現在情報自己位置とを統合する、または、切り替えることにより自己位置推定結果として出力する。さらに、自己位置推定部22は、センサ部14より供給される検出結果に基づいて、移動体10の姿勢を検出し、姿勢の変化が検出されて、自己位置が大きく変化し、時系列情報自己位置の推定精度が低下するとみなされるとき、現在情報自己位置のみから自己位置を推定する。
また自己位置推定部22は、SLAM等により、自己位置の推定に用いる地図を生成する。
本実施形態では、自己位置推定部22により推定された移動体10の自己位置は占有率情報生成部23及び経路生成部27に供給される。
また自己位置推定部22は、センサ部14より供給される現在の検出結果に基づいて、自己位置を推定し、現在情報自己位置として出力する。そして、自己位置推定部22は、時系列情報自己位置と、現在情報自己位置とを統合する、または、切り替えることにより自己位置推定結果として出力する。さらに、自己位置推定部22は、センサ部14より供給される検出結果に基づいて、移動体10の姿勢を検出し、姿勢の変化が検出されて、自己位置が大きく変化し、時系列情報自己位置の推定精度が低下するとみなされるとき、現在情報自己位置のみから自己位置を推定する。
また自己位置推定部22は、SLAM等により、自己位置の推定に用いる地図を生成する。
本実施形態では、自己位置推定部22により推定された移動体10の自己位置は占有率情報生成部23及び経路生成部27に供給される。
占有率情報生成部23は、センサ部14からの検出結果に基づいて、占有率情報を生成する。本実施形態では、占有率情報生成部23は、検出結果及び移動体10の自己位置に基づいて、占有率情報を生成する。例えば、占有率情報生成部23は、取得された地図と、障害物の位置情報とに基づいて、地図上の各位置における占有率情報を生成する。
本実施形態では、占有率情報生成部23は、生成された占有率情報を領域生成部24に出力する。
本実施形態では、占有率情報生成部23は、生成された占有率情報を領域生成部24に出力する。
領域生成部24は、占有率情報に応じて1以上の回転領域を生成する。本実施形態では、領域生成部24は、取得された地図に対して、占有率情報生成部23により生成された占有率情報に応じた回転領域を生成する。例えば、領域生成部24は、推測された移動体10の自己位置に回転領域を生成する。
また領域生成部24は、回転領域における占有率情報を変更することが可能である。例えば、領域生成部24は、回転領域が重畳している場合、該回転領域の回転数を加算する。具体的には、反時計回りの回転領域Aに反時計回りの回転領域Bが重畳される場合、回転領域Bの回転数は+2となる。
また領域生成部24は、回転領域同士の距離に応じて、占有率情報を変更する。例えば、領域生成部24は、回転領域内の所定の点と回転領域の境界との距離に基づいて、占有率情報を変更する。
また領域生成部24は、回転領域における占有率情報を変更することが可能である。例えば、領域生成部24は、回転領域が重畳している場合、該回転領域の回転数を加算する。具体的には、反時計回りの回転領域Aに反時計回りの回転領域Bが重畳される場合、回転領域Bの回転数は+2となる。
また領域生成部24は、回転領域同士の距離に応じて、占有率情報を変更する。例えば、領域生成部24は、回転領域内の所定の点と回転領域の境界との距離に基づいて、占有率情報を変更する。
判定部25は、種々の処理にかかる計算量が所定の閾値を超えるか否かを判定する。本実施形態では、判定部25は、移動体10の自己位置の推定にかかる計算量が所定の閾値を超えるか否かを判定する。例えば、判定部25は、移動体10又は情報処理装置20の計算を処理する性能に基づいて判定する。
また判定部25の判定結果により計算量が所定の閾値を超える場合、領域生成部24により回転領域が制御される。例えば、地図上に多くの回転領域が含まれた領域マップが生成された場合、領域生成部24により回転領域が削除される。
また領域生成部24は、移動体10の移動方向(経路)と回転領域との距離に基づいて、回転領域を削除する。例えば、領域生成部24は、移動体10の移動方向とは反対方向に存在する回転領域を削除する。また例えば、領域生成部24は、移動体10の経路と所定の閾値以上離れている回転領域を削除する。
また判定部25の判定結果により計算量が所定の閾値を超える場合、領域生成部24により回転領域が制御される。例えば、地図上に多くの回転領域が含まれた領域マップが生成された場合、領域生成部24により回転領域が削除される。
また領域生成部24は、移動体10の移動方向(経路)と回転領域との距離に基づいて、回転領域を削除する。例えば、領域生成部24は、移動体10の移動方向とは反対方向に存在する回転領域を削除する。また例えば、領域生成部24は、移動体10の経路と所定の閾値以上離れている回転領域を削除する。
領域マップ出力部26は、領域生成部24により生成された回転領域を含む領域マップを出力する。本実施形態では、判定部25の判定結果に基づいて領域生成部24により制御された領域マップを出力する。なお、出力された領域マップは、ユーザの有するPC等に提示されてもよい。
経路生成部27は、移動体10の通過する移動経路を生成する。本実施形態では、経路生成部27は、領域マップ出力部26により出力された領域マップに基づいて、移動体10の移動経路を生成する。例えば、時計回りの回転領域のコストに比べて、反時計回りの回転領域のコストを高くしたコスト関数によって、移動体10の移動経路が生成される。
なお、移動経路とは、移動体10の通過する経路、及び発進、停止、進行方向(例えば、前進、後退、方向転換等)、及び移動速度等の移動体10の動作を含む。また移動経路には、移動体10の飛行パターン等も含まれる。すなわち、旋回や8の字といった、パターンとして規定された軌跡や速度等も、行動計画及び動作計画に含まれる。例えば、旋回や8の字といった飛行パターンに対して、旋回や8の字を行う際の移動体10の速度や曲率等が移動経路として生成される。
なお移動経路を生成する方法は限定されず、例えば、環境を格子状に区切って、到達判定及び経路の重みを最適化して最良のパスを生成するA*algorithm(A star探索アルゴリズム)、及び自己位置からインクリメンタルに到達可能な場所へのパスを適切に枝刈りしながら伸ばしていくRRT(Rapidly-exploring Random Tree) algorithm等が用いられてもよい。
なお、移動経路とは、移動体10の通過する経路、及び発進、停止、進行方向(例えば、前進、後退、方向転換等)、及び移動速度等の移動体10の動作を含む。また移動経路には、移動体10の飛行パターン等も含まれる。すなわち、旋回や8の字といった、パターンとして規定された軌跡や速度等も、行動計画及び動作計画に含まれる。例えば、旋回や8の字といった飛行パターンに対して、旋回や8の字を行う際の移動体10の速度や曲率等が移動経路として生成される。
なお移動経路を生成する方法は限定されず、例えば、環境を格子状に区切って、到達判定及び経路の重みを最適化して最良のパスを生成するA*algorithm(A star探索アルゴリズム)、及び自己位置からインクリメンタルに到達可能な場所へのパスを適切に枝刈りしながら伸ばしていくRRT(Rapidly-exploring Random Tree) algorithm等が用いられてもよい。
なお、本実施形態において、占有率情報生成部23及び領域生成部24は、センサからの検出結果により生成された、各位置に障害物が存在するかどうかの確率を示す占有率情報を含む地図に対して、前記占有率情報に基づいて前記障害物を推定するための境界表現による1以上の領域を生成する生成部として機能する。
なお、本実施形態において、自己位置推定部22は、センサを有する移動体の位置を推定する推定部に相当する。
なお、本実施形態において、判定部25は、移動体の位置の推定にかかる計算量が所定の閾値を超えるか否かを判定する判定部に相当する。
なお、本実施形態において、経路生成部27は、領域が生成された地図に基づいて、センサを有する移動体の移動に関する移動経路を生成する経路生成部に相当する。
なお、本実施形態において、自己位置推定部22は、センサを有する移動体の位置を推定する推定部に相当する。
なお、本実施形態において、判定部25は、移動体の位置の推定にかかる計算量が所定の閾値を超えるか否かを判定する判定部に相当する。
なお、本実施形態において、経路生成部27は、領域が生成された地図に基づいて、センサを有する移動体の移動に関する移動経路を生成する経路生成部に相当する。
図3は、移動体10の自己位置推定の制御の一例を示すフローチャートである。
自己位置推定部22により、移動体10の初期位置が決定される(ステップ101)。例えば、自己位置推定部22は、タイヤの回転数から現在位置を推定するオドメトリを用いて移動体10の初期位置を決定する。
地図取得部15により、移動体10の周囲の地図が取得される(ステップ102)。
センサ部14により、移動体10の周囲の検出結果が取得される。占有率情報生成部23は、該検出結果に基づいて占有率情報を生成する(ステップ103)。
領域生成部24により、取得された地図に対して、回転領域が生成される(ステップ104)。本実施形態では、センサ部14から取得された検出結果に基づいて、障害物が存在しない可能性が高い領域には、時計回りの回転領域が生成される。また障害物が存在する可能性が高い領域には、反時計回りの回転領域が生成される。
自己位置推定部22により、既に推定された移動体10の自己位置の分布に従って、移動体10の自己位置がサンプリングされる(ステップ105)。
また自己位置推定部22により、サンプリングされた移動体10の自己位置ごとに、回転領域を地図と照らし合わせて尤度が計算される(ステップ106)。
また自己位置推定部22により、移動体10の自己位置及び尤度から分布が予測され、移動体10の自己位置の分布が更新される(ステップ107)。
自己位置推定部22による移動体10の自己位置の推定が完了した場合、自己位置推定が終了される(ステップ108のYES)。
移動体10の自己位置の更新が必要になった場合、ステップ103へ戻る(ステップ108のNO)。例えば、自己位置推定部22は、所定の時間の経過、又は移動体10の所定の距離の移動に基づいて、自己位置推定の更新を行う。
また自己位置推定部22により、サンプリングされた移動体10の自己位置ごとに、回転領域を地図と照らし合わせて尤度が計算される(ステップ106)。
また自己位置推定部22により、移動体10の自己位置及び尤度から分布が予測され、移動体10の自己位置の分布が更新される(ステップ107)。
自己位置推定部22による移動体10の自己位置の推定が完了した場合、自己位置推定が終了される(ステップ108のYES)。
移動体10の自己位置の更新が必要になった場合、ステップ103へ戻る(ステップ108のNO)。例えば、自己位置推定部22は、所定の時間の経過、又は移動体10の所定の距離の移動に基づいて、自己位置推定の更新を行う。
図4は、マップ領域生成の一例を示すフローチャートである。
自己位置推定部22により、移動体10の初期位置が決定される(ステップ201)。
領域生成部24により、既に領域マップがある場合、該領域マップが初期化される(ステップ202)。例えば、移動体10が領域マップの生成された地点から移動した場合や、移動体10の周囲の障害物が移動した場合等の、移動体10の周囲の環境が変わった場合に、生成された該領域マップが初期化される。なお、初期化とは、回転領域、及びSLAM等で生成された地図等の削除を含む。
領域マップが初期化された後、図3に示すステップ103~ステップ107の処理が実行される(ステップ203)。
領域生成部24により、地図上の移動体10の推測された自己位置に回転領域が追加される(ステップ204)。例えば、領域生成部24は、移動体10の自己位置の分布に従い、該位置に回転領域を追加する。
判定部25により、自己位置の推定にかかる計算量が所定の閾値を超えるか否かが判定される(ステップ205)。
領域生成部24により、領域マップから影響の少ない回転領域が削除される(ステップ206)。影響の少ないとは、移動体10の移動を干渉しないことである。例えば、領域生成部24は、移動体10の自己位置又は移動経路から所定の距離以上離れている回転領域を削除する。また例えば、領域生成部24は、移動体10の移動方向とは反対の方向に位置する回転領域を削除する。すなわち、領域生成部24は、移動体10の移動を干渉しない位置に存在する回転領域を削除する。これにより、領域マップの単純化ができ、計算量の削減が可能である。
出力された領域マップが用途に適する場合、マップ領域生成のフローが終了する(ステップ207のYES)。例えば、移動体10の移動経路の生成に十分な情報が領域マップに含まれる場合、フローが終了する。出力された領域マップが用途に適さない場合、又は領域マップの更新が必要となった場合にステップ203へ戻る(ステップ207のNO)。
図5は、回転領域の例を示す模式図である。
図5に示す例は、回転領域が完全に包含(重畳)される状態が示される。
本実施形態では、図5に示すように、領域生成部24により、時計回りの円形の回転領域30、回転領域30内の反時計回りの矩形の回転領域31、反時計回りの矩形の回転領域32、及び回転領域32内の反時計回りの五角形の回転領域33が生成される。
図5に示す例は、回転領域が完全に包含(重畳)される状態が示される。
本実施形態では、図5に示すように、領域生成部24により、時計回りの円形の回転領域30、回転領域30内の反時計回りの矩形の回転領域31、反時計回りの矩形の回転領域32、及び回転領域32内の反時計回りの五角形の回転領域33が生成される。
この場合、領域外を無限遠点(回転数0)とすると、回転領域30内の占有率情報が回転数として-1と表現される。また回転領域30内の占有率情報は、回転領域31の回転方向(向き)が反時計回りのため、-1に1を足すことで0となる。
回転領域32内の占有率情報は、+1となる。また回転領域32内の占有率情報は、回転領域33の向きが反時計回りのため、+1に1を足すことで+2となる。
回転領域32内の占有率情報は、+1となる。また回転領域32内の占有率情報は、回転領域33の向きが反時計回りのため、+1に1を足すことで+2となる。
すなわち、矩形の回転領域31を除く円形の回転領域30内では、障害物が存在する可能性が低く、矩形の回転領域31内では、障害物が存在するか不明な状態を示す。
また五角形の回転領域33を除く矩形の回転領域32内では、障害物が存在する可能性が高く、五角形の回転領域33内では、障害物が矩形の回転領域32よりも存在する可能性が高い。
また五角形の回転領域33を除く矩形の回転領域32内では、障害物が存在する可能性が高く、五角形の回転領域33内では、障害物が矩形の回転領域32よりも存在する可能性が高い。
図6は、回転領域の他の例を示す模式図である。
図6に示す例は、回転領域の一部が包含される状態が示される。
本実施形態では、図6に示すように、領域生成部24により、反時計回りの矩形の回転領域35、反時計回りの四角形の回転領域36、及び時計回りの円形の回転領域37が生成される。
図6に示す例は、回転領域の一部が包含される状態が示される。
本実施形態では、図6に示すように、領域生成部24により、反時計回りの矩形の回転領域35、反時計回りの四角形の回転領域36、及び時計回りの円形の回転領域37が生成される。
この場合、領域外を無限遠点(回転数0)とすると、四角形の回転領域36及び円形の回転領域37が重畳されない矩形の回転領域35(領域38及び領域39)の占有率情報が、回転数として+1と表現される。
また同様に矩形の回転領域35及び円形の回転領域37が重畳されない四角形の回転領域36(領域40及び領域41)の占有率情報が、回転数として+1と表現される。
また同様に、矩形の回転領域35及び四角形の回転領域36が重畳されない円形の回転領域37(領域42及び領域43)の占有率情報が、回転数として-1と表現される。
また同様に矩形の回転領域35及び円形の回転領域37が重畳されない四角形の回転領域36(領域40及び領域41)の占有率情報が、回転数として+1と表現される。
また同様に、矩形の回転領域35及び四角形の回転領域36が重畳されない円形の回転領域37(領域42及び領域43)の占有率情報が、回転数として-1と表現される。
円形の回転領域37と重畳されず、矩形の回転領域35及び四角形の回転領域36が重畳している領域44の占有率情報は、共に向きが反時計回りのため、+1に1を足すことで+2となる。
また四角形の回転領域36と重畳されず、矩形の回転領域35及び円形の回転領域37が重畳している領域45及び領域46の占有率情報は、向きが反対のため0となる。同様に、矩形の回転領域35と重畳されず、四角形の回転領域36及び円形の回転領域37が重畳している領域47の占有率情報も回転数が0となる。
また四角形の回転領域36と重畳されず、矩形の回転領域35及び円形の回転領域37が重畳している領域45及び領域46の占有率情報は、向きが反対のため0となる。同様に、矩形の回転領域35と重畳されず、四角形の回転領域36及び円形の回転領域37が重畳している領域47の占有率情報も回転数が0となる。
矩形の回転領域35、四角形の回転領域36、及び円形の回転領域37が重畳する領域48の占有率情報は、時計回りの回転領域が1つ、反時計回りの回転領域が2つのため、回転数が+1となる。
図7は、回転領域の他の例を示す模式図である。
図7に示す例では、1つの回転領域が交差する状態が示される。
本実施形態では、図7に示すように、領域生成部24により、反時計回りの回転領域50が生成される。また回転領域50は、線分51及び線分52が交差している。すなわち、1つの回転領域50は、線分で囲まれた領域53及び領域54により2つの領域を有する。
図7に示す例では、1つの回転領域が交差する状態が示される。
本実施形態では、図7に示すように、領域生成部24により、反時計回りの回転領域50が生成される。また回転領域50は、線分51及び線分52が交差している。すなわち、1つの回転領域50は、線分で囲まれた領域53及び領域54により2つの領域を有する。
この場合、領域外を無限遠点(回転数0)とすると、領域53の占有率情報は、反時計回りのため、回転数として+1と表現される。また領域54の占有率情報は、向きが時計回りになるため、回転数として-1と表現される。
以上、本実施形態に係る情報処理装置20は、センサ部14からの検出結果により生成された、各位置に障害物1が存在するかどうかの確率を示す占有率情報を含む地図に対して、占有率情報に応じて1以上の境界表現による回転領域が生成される。これにより、少ない計算量で、高精度な地図作成が可能となる。
一般に、ロボット等が事前に作成された地図を参照して自己位置推定を行う時、もしくは自己位置推定とマップ生成を同時に行うSLAM等を行う時、マップの情報を記憶する必要がある。従来ではグリッド状のデータ構造で表現が行われた。グリッド状のデータ構造は、生成時に格子幅を決定する必要があり、原理的に格子幅より細かな形状を表現することが難しい。格子幅を細かくした場合、必要な記憶量、計算量が急激に増大するため、格子幅を細かくすることで精度を向上することには限界がある。
ロボットが物体を掴む動作を行う場合や、細い通路を通過する場合など、ロボットのタスクによっては高精度な位置決めが求められる。しかし、高精度な位置決めには、高精度な自己位置推定が必要であり、ロボットの高速な動作のために高いリアルタイム性が要求される場合やエッジプロセッシング等で性能の低いコンピュータを使用する場合には、計算量の削減が要求される。
そこで本技術では、センサから取得されたデータによって生成された、各位置に障害物が存在するかの確率を示す占有率情報を含む地図に対して、占有率情報に応じて1以上の境界表現による回転領域が生成される。これにより、高精度で、少ない計算量で、外乱に強い自己位置推定やSLAMを実現することが可能となる。
複数の回転領域の一部又は全てが包含されることで、占有率情報の小さな差や大きな差を効率的に表現できる。
複数の回転領域の一部又は全てが包含されることで、占有率情報の小さな差や大きな差を効率的に表現できる。
またOをorder、Aを面積、pを精度とすると、グリッド状のデータ構造の場合、メモリ使用量がO(A/p^2)となる。また処理時間は、O(A/p^2)となる。
境界表現の場合、メモリ使用量がO(A/p)となる。また処理時間は、O(A/plogA/p)となる。
すなわち、精度が格子幅に制約されず、部分ごとの占有率が表現できるため、時系列データの蓄積による高精度な自己位置推定を効率的に処理できる。
境界表現の場合、メモリ使用量がO(A/p)となる。また処理時間は、O(A/plogA/p)となる。
すなわち、精度が格子幅に制約されず、部分ごとの占有率が表現できるため、時系列データの蓄積による高精度な自己位置推定を効率的に処理できる。
またマップにおける情報は疎であることが多い。そのため、境界表現では数値が変化する箇所のみを扱うため、疎な情報に対して処理時間短縮、省メモリ化が可能となる。
<その他の実施形態>
本技術は、以上説明した実施形態に限定されず、他の種々の実施形態を実現することができる。
本技術は、以上説明した実施形態に限定されず、他の種々の実施形態を実現することができる。
上記の実施形態では、回転領域内の占有率情報が定数として表現された。これに限定されず、回転領域の境界(回転領域を構成する線分)との距離に応じて占有率情報が変化されてもよい。また回転領域同士の集合、回転領域、又は回転領域の境界に対して、境界との距離における占有率情報の変化の関係を表す関数のパラメータが設定されてもよい。これにより、占有率の滑らかな変化が表現できる。
上記の実施形態では、1つのマップ領域に、障害物が存在する可能性が高い領域(反時計回りの回転領域)と、障害物が存在する可能性が低い領域(時計回りの回転領域)とが表現された。これに限定されず、障害物が存在する可能性が高い領域を表すマップ領域と、障害物が存在する可能性が低い領域を表すマップ領域とが分けて処理されてもよい。
上記の実施形態では、無限遠点における回転数が0と表現された。これに限定されず、無限遠点又は所定の点での占有率が保存され、該保存された占有率情報を基準として回転領域の占有率情報が変更されてもよい。これにより、マップ領域全体のうち多くを占める占有率情報が、異なるマップで効率的に表現することができる。
上記の実施形態では、回転領域が包含されることで、回転数が加算された。これに限定されず、様々な演算処理が行われてもよい。例えば、符号反転、四則演算、AND/OR/XOR等のブーリアン、関数の適用等が行われてもよい。また回転領域の平行移動、回転領域の拡大縮小、回転領域の回転、回転領域のオフセット等が行われてもよい。これにより、グリッド状のデータ構造に比べて、少ない計算量で計算できる。
上記の実施形態では、回転領域を含む領域マップが出力された。これに限定されず、処理に必要な箇所のみを切り取るクリッピング処理が行われてもよい。例えば、反時計回りの回転領域が存在する箇所に対してクリッピング処理が行われてもよい。これにより、処理量の削減ができる。
上記の実施形態では、反時計回りの回転領域の回転数が+1、時計回りの回転領域の回転数が-1と表現された。これに限定されず、時計回りの回転領域の回転数が+1と表現されてもよい。もちろん、数字以外の表現により占有率情報が表現されてもよい。
上記の実施形態では、各位置に障害物が存在するかの確率を示す占有率情報を含む領域マップが出力された。これに限定されず、例えば、移動体の探索中の目標物が存在する可能性等が境界表現で表現されてもよい。すなわち、占有率以外にも、空間に対して情報が疎であることが期待できるデータに関して、本技術は適用可能である。
図8は、情報処理装置20のハードウェア構成例を示すブロック図である。
情報処理装置20は、CPU201、ROM202、RAM203、入出力インタフェース205、及びこれらを互いに接続するバス204を備える。入出力インタフェース205には、表示部206、入力部207、記憶部208、通信部209、及びドライブ部210等が接続される。
表示部206は、例えば液晶、EL等を用いた表示デバイスである。入力部207は、例えばキーボード、ポインティングデバイス、タッチパネル、その他の操作装置である。入力部207がタッチパネルを含む場合、そのタッチパネルは表示部206と一体となり得る。
記憶部208は、不揮発性の記憶デバイスであり、例えばHDD、フラッシュメモリ、その他の固体メモリである。ドライブ部210は、例えば光学記録媒体、磁気記録テープ等、リムーバブルの記録媒体211を駆動することが可能なデバイスである。
通信部209は、LAN、WAN等に接続可能な、他のデバイスと通信するためのモデム、ルータ、その他の通信機器である。通信部209は、有線及び無線のどちらを利用して通信するものであってもよい。通信部209は、情報処理装置20とは、別体で使用される場合が多い。
上記のようなハードウェア構成を有する情報処理装置20による情報処理は、記憶部208またはROM202等に記憶されたソフトウェアと、情報処理装置20のハードウェア資源との協働により実現される。具体的には、ROM202等に記憶された、ソフトウェアを構成するプログラムをRAM203にロードして実行することにより、本技術に係る情報処理方法が実現される。
プログラムは、例えば記録媒体211を介して情報処理装置20にインストールされる。あるいは、グローバルネットワーク等を介してプログラムが情報処理装置20にインストールされてもよい。その他、コンピュータ読み取り可能な非一過性の任意の記憶媒体が用いられてよい。
通信端末に搭載されたコンピュータとネットワーク等を介して通信可能な他のコンピュータとが連動することにより本技術に係る情報処理装置、情報処理方法、及びプログラムが実行され、本技術に係る情報処理装置が構築されてもよい。
すなわち本技術に係る情報処理装置、情報処理方法、及びプログラムは、単体のコンピュータにより構成されたコンピュータシステムのみならず、複数のコンピュータが連動して動作するコンピュータシステムにおいても実行可能である。なお、本開示において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれもシステムである。
コンピュータシステムによる本技術に係る情報処理装置、情報処理方法、及びプログラムの実行は、例えば、占有率情報の生成、回転領域の生成、及び領域マップの出力等が、単体のコンピュータにより実行される場合、及び各処理が異なるコンピュータにより実行される場合の両方を含む。また所定のコンピュータによる各処理の実行は、当該処理の一部又は全部を他のコンピュータに実行させその結果を取得することを含む。
すなわち本技術に係る情報処理装置、情報処理方法、及びプログラムは、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成にも適用することが可能である。
各図面を参照して説明した占有率情報生成部、領域生成部、領域マップ出力部等の各構成、通信システムの制御フロー等はあくまで一実施形態であり、本技術の趣旨を逸脱しない範囲で、任意に変形可能である。すなわち本技術を実施するための他の任意の構成やアルゴリズム等が採用されてよい。
なお、本開示中に記載された効果はあくまで例示であって限定されるものでは無く、また他の効果があってもよい。上記の複数の効果の記載は、それらの効果が必ずしも同時に発揮されるということを意味しているのではない。条件等により、少なくとも上記した効果のいずれかが得られることを意味しており、もちろん本開示中に記載されていない効果が発揮される可能性もある。
以上説明した各形態の特徴部分のうち、少なくとも2つの特徴部分を組み合わせることも可能である。すなわち各実施形態で説明した種々の特徴部分は、各実施形態の区別なく、任意に組み合わされてもよい。
なお、本技術は以下のような構成も採ることができる。
(1)センサからの検出結果により生成された、各位置に障害物が存在するかどうかの確率を示す占有率情報を含む地図に対して、前記占有率情報に基づいて前記障害物を推定するための境界表現による1以上の領域を生成する生成部
を具備する情報処理装置。
(2)(1)に記載の情報処理装置であって、
前記生成部は、回転数として表現された前記占有率情報に基づいて、前記1以上の領域を生成する
情報処理装置。
(3)(1)又は(2)に記載の情報処理装置であって、
前記1以上の領域は、複数の領域であり、
前記生成部は、前記複数の領域間の距離に基づいて、前記占有率情報を変更する
情報処理装置。
(4)(3)に記載の情報処理装置であって、
前記生成部は、前記1以上の領域内における所定の点と前記1以上の領域を構成する境界との距離に基づいて、前記占有率情報を変更する
情報処理装置。
(5)(1)から(4)のうちいずれか1つに記載の情報処理装置であって、
前記生成部は、前記占有率情報に基づいて、前記1以上の領域を重畳させる
情報処理装置。
(6)(1)から(5)のうちいずれか1つに記載の情報処理装置であって、
前記センサは、測距センサを含み、
前記生成部は、前記測距センサからの距離情報に基づいて、前記1以上の領域の各々を生成する
情報処理装置。
(7)(6)に記載の情報処理装置であって、
前記生成部は、前記距離情報に基づいて、前記1以上の領域を構成する境界を決定する
情報処理装置。
(8)(1)から(7)のうちいずれか1つに記載の情報処理装置であって、
前記センサは、移動体に搭載されており、
前記情報処理装置は、さらに、前記移動体の位置を推定する推定部を具備する
情報処理装置。
(9)(1)から(8)のうちいずれか1つに記載の情報処理装置であって、
前記センサは、移動体に搭載されており、
前記情報処理装置は、さらに、前記移動体の位置の推定にかかる計算量が所定の閾値を超えるか否かを判定する判定部を具備する
情報処理装置。
(10)(9)に記載の情報処理装置であって、
前記生成部は、前記判定部の判定結果に基づいて、前記境界表現による1以上の領域を制御する
情報処理装置。
(11)(9)又は(10)に記載の情報処理装置であって、
前記生成部は、前記判定部の判定結果と前記移動体の位置とに基づいて、前記境界表現による領域を削除する
情報処理装置。
(12)(9)又は(11)に記載の情報処理装置であって、
前記生成部は、前記判定部の判定結果と前記移動体の経路とに基づいて、前記境界表現による領域を削除する
情報処理装置。
(13)(1)から(12)のうちいずれか1つに記載の情報処理装置であって、
前記1以上の領域が生成された地図に基づいて、前記センサを有する移動体の経路を生成する経路生成部を具備する
情報処理装置。
(14)(1)から(13)のうちいずれか1つに記載の情報処理装置であって、
前記センサは、LiDAR(Light Detection and Ranging)を含む
情報処理装置。
(15)
センサからの検出結果により生成された、各位置に障害物が存在するかどうかの確率を示す占有率情報を含む地図に対して、前記占有率情報に基づいて前記障害物を推定するための境界表現による1以上の領域を生成する
ことをコンピュータシステムが実行する情報処理方法。
(16)
センサからの検出結果により生成された、各位置に障害物が存在するかどうかの確率を示す占有率情報を含む地図に対して、前記占有率情報に基づいて前記障害物を推定するための境界表現による1以上の領域を生成するステップ
をコンピュータシステムに実行させるプログラム。
(1)センサからの検出結果により生成された、各位置に障害物が存在するかどうかの確率を示す占有率情報を含む地図に対して、前記占有率情報に基づいて前記障害物を推定するための境界表現による1以上の領域を生成する生成部
を具備する情報処理装置。
(2)(1)に記載の情報処理装置であって、
前記生成部は、回転数として表現された前記占有率情報に基づいて、前記1以上の領域を生成する
情報処理装置。
(3)(1)又は(2)に記載の情報処理装置であって、
前記1以上の領域は、複数の領域であり、
前記生成部は、前記複数の領域間の距離に基づいて、前記占有率情報を変更する
情報処理装置。
(4)(3)に記載の情報処理装置であって、
前記生成部は、前記1以上の領域内における所定の点と前記1以上の領域を構成する境界との距離に基づいて、前記占有率情報を変更する
情報処理装置。
(5)(1)から(4)のうちいずれか1つに記載の情報処理装置であって、
前記生成部は、前記占有率情報に基づいて、前記1以上の領域を重畳させる
情報処理装置。
(6)(1)から(5)のうちいずれか1つに記載の情報処理装置であって、
前記センサは、測距センサを含み、
前記生成部は、前記測距センサからの距離情報に基づいて、前記1以上の領域の各々を生成する
情報処理装置。
(7)(6)に記載の情報処理装置であって、
前記生成部は、前記距離情報に基づいて、前記1以上の領域を構成する境界を決定する
情報処理装置。
(8)(1)から(7)のうちいずれか1つに記載の情報処理装置であって、
前記センサは、移動体に搭載されており、
前記情報処理装置は、さらに、前記移動体の位置を推定する推定部を具備する
情報処理装置。
(9)(1)から(8)のうちいずれか1つに記載の情報処理装置であって、
前記センサは、移動体に搭載されており、
前記情報処理装置は、さらに、前記移動体の位置の推定にかかる計算量が所定の閾値を超えるか否かを判定する判定部を具備する
情報処理装置。
(10)(9)に記載の情報処理装置であって、
前記生成部は、前記判定部の判定結果に基づいて、前記境界表現による1以上の領域を制御する
情報処理装置。
(11)(9)又は(10)に記載の情報処理装置であって、
前記生成部は、前記判定部の判定結果と前記移動体の位置とに基づいて、前記境界表現による領域を削除する
情報処理装置。
(12)(9)又は(11)に記載の情報処理装置であって、
前記生成部は、前記判定部の判定結果と前記移動体の経路とに基づいて、前記境界表現による領域を削除する
情報処理装置。
(13)(1)から(12)のうちいずれか1つに記載の情報処理装置であって、
前記1以上の領域が生成された地図に基づいて、前記センサを有する移動体の経路を生成する経路生成部を具備する
情報処理装置。
(14)(1)から(13)のうちいずれか1つに記載の情報処理装置であって、
前記センサは、LiDAR(Light Detection and Ranging)を含む
情報処理装置。
(15)
センサからの検出結果により生成された、各位置に障害物が存在するかどうかの確率を示す占有率情報を含む地図に対して、前記占有率情報に基づいて前記障害物を推定するための境界表現による1以上の領域を生成する
ことをコンピュータシステムが実行する情報処理方法。
(16)
センサからの検出結果により生成された、各位置に障害物が存在するかどうかの確率を示す占有率情報を含む地図に対して、前記占有率情報に基づいて前記障害物を推定するための境界表現による1以上の領域を生成するステップ
をコンピュータシステムに実行させるプログラム。
10…移動体
14…センサ部
20…情報処理装置
22…自己位置推定部
23…占有率情報生成部
24…領域生成部
25…判定部
26…領域マップ出力部
27…経路生成部
100…マップ生成システム
14…センサ部
20…情報処理装置
22…自己位置推定部
23…占有率情報生成部
24…領域生成部
25…判定部
26…領域マップ出力部
27…経路生成部
100…マップ生成システム
Claims (16)
- センサからの検出結果により生成された、各位置に障害物が存在するかどうかの確率を示す占有率情報を含む地図に対して、前記占有率情報に基づいて前記障害物を推定するための境界表現による1以上の領域を生成する生成部
を具備する情報処理装置。 - 請求項1に記載の情報処理装置であって、
前記生成部は、回転数として表現された前記占有率情報に基づいて、前記1以上の領域を生成する
情報処理装置。 - 請求項1に記載の情報処理装置であって、
前記1以上の領域は、複数の領域であり、
前記生成部は、前記複数の領域間の距離に基づいて、前記占有率情報を変更する
情報処理装置。 - 請求項3に記載の情報処理装置であって、
前記生成部は、前記1以上の領域内における所定の点と前記1以上の領域を構成する境界との距離に基づいて、前記占有率情報を変更する
情報処理装置。 - 請求項1に記載の情報処理装置であって、
前記生成部は、前記占有率情報に基づいて、前記1以上の領域を重畳させる
情報処理装置。 - 請求項1に記載の情報処理装置であって、
前記センサは、測距センサを含み、
前記生成部は、前記測距センサからの距離情報に基づいて、前記1以上の領域の各々を生成する
情報処理装置。 - 請求項6に記載の情報処理装置であって、
前記生成部は、前記距離情報に基づいて、前記1以上の領域を構成する境界を決定する
情報処理装置。 - 請求項1に記載の情報処理装置であって、
前記センサは、移動体に搭載されており、
前記情報処理装置は、さらに、前記移動体の位置を推定する推定部を具備する
情報処理装置。 - 請求項1に記載の情報処理装置であって、
前記センサは、移動体に搭載されており、
前記情報処理装置は、さらに、前記移動体の位置の推定にかかる計算量が所定の閾値を超えるか否かを判定する判定部を具備する
情報処理装置。 - 請求項9に記載の情報処理装置であって、
前記生成部は、前記判定部の判定結果に基づいて、前記境界表現による1以上の領域を制御する
情報処理装置。 - 請求項9に記載の情報処理装置であって、
前記生成部は、前記判定部の判定結果と前記移動体の位置とに基づいて、前記境界表現による領域を削除する
情報処理装置。 - 請求項9に記載の情報処理装置であって、
前記生成部は、前記判定部の判定結果と前記移動体の経路とに基づいて、前記境界表現による領域を削除する
情報処理装置。 - 請求項1に記載の情報処理装置であって、さらに、
前記1以上の領域が生成された地図に基づいて、前記センサを有する移動体の経路を生成する経路生成部を具備する
情報処理装置。 - 請求項1に記載の情報処理装置であって、
前記センサは、LiDAR(Light Detection and Ranging)を含む
情報処理装置。 - センサからの検出結果により生成された、各位置に障害物が存在するかどうかの確率を示す占有率情報を含む地図に対して、前記占有率情報に基づいて前記障害物を推定するための境界表現による1以上の領域を生成する
ことをコンピュータシステムが実行する情報処理方法。 - センサからの検出結果により生成された、各位置に障害物が存在するかどうかの確率を示す占有率情報を含む地図に対して、前記占有率情報に基づいて前記障害物を推定するための境界表現による1以上の領域を生成するステップ
をコンピュータシステムに実行させるプログラム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020114438A JP2022012540A (ja) | 2020-07-01 | 2020-07-01 | 情報処理装置、情報処理方法、及びプログラム |
| JP2020-114438 | 2020-07-01 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2022004385A1 true WO2022004385A1 (ja) | 2022-01-06 |
Family
ID=79316117
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2021/022853 Ceased WO2022004385A1 (ja) | 2020-07-01 | 2021-06-16 | 情報処理装置、情報処理方法、及びプログラム |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP2022012540A (ja) |
| WO (1) | WO2022004385A1 (ja) |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004298975A (ja) * | 2003-03-28 | 2004-10-28 | Sony Corp | ロボット装置、障害物探索方法 |
| JP2005032196A (ja) * | 2003-07-11 | 2005-02-03 | Japan Science & Technology Agency | 移動ロボット用経路計画システム |
| JP2007531110A (ja) * | 2004-03-26 | 2007-11-01 | レイセオン・カンパニー | 適応型経路計画のためのシステム及び方法 |
| JP2007330567A (ja) * | 2006-06-16 | 2007-12-27 | Hitachi Appliances Inc | 自走式掃除機 |
| JP2010070078A (ja) * | 2008-09-19 | 2010-04-02 | Nippon Seiki Co Ltd | 車両用表示装置 |
| WO2019093190A1 (ja) * | 2017-11-08 | 2019-05-16 | ソニー株式会社 | 情報処理装置、車両、移動体、情報処理方法、及びプログラム |
-
2020
- 2020-07-01 JP JP2020114438A patent/JP2022012540A/ja active Pending
-
2021
- 2021-06-16 WO PCT/JP2021/022853 patent/WO2022004385A1/ja not_active Ceased
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2004298975A (ja) * | 2003-03-28 | 2004-10-28 | Sony Corp | ロボット装置、障害物探索方法 |
| JP2005032196A (ja) * | 2003-07-11 | 2005-02-03 | Japan Science & Technology Agency | 移動ロボット用経路計画システム |
| JP2007531110A (ja) * | 2004-03-26 | 2007-11-01 | レイセオン・カンパニー | 適応型経路計画のためのシステム及び方法 |
| JP2007330567A (ja) * | 2006-06-16 | 2007-12-27 | Hitachi Appliances Inc | 自走式掃除機 |
| JP2010070078A (ja) * | 2008-09-19 | 2010-04-02 | Nippon Seiki Co Ltd | 車両用表示装置 |
| WO2019093190A1 (ja) * | 2017-11-08 | 2019-05-16 | ソニー株式会社 | 情報処理装置、車両、移動体、情報処理方法、及びプログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2022012540A (ja) | 2022-01-17 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP3373200B1 (en) | Offline combination of convolutional/deconvolutional and batch-norm layers of convolutional neural network models for autonomous driving vehicles | |
| CN111044991B (zh) | 一种用于自动驾驶的基于预收集静态反射图的lidar校准方法 | |
| CN108475059B (zh) | 自主视觉导航 | |
| CN110345955B (zh) | 用于自动驾驶的感知与规划协作框架 | |
| CN111830959B (zh) | 用于操作自动驾驶车辆的方法、系统和机器可读介质 | |
| CN108136867B (zh) | 自动驾驶车辆的车辆位置点转发方法 | |
| Dryanovski et al. | An open-source navigation system for micro aerial vehicles | |
| CN108391429B (zh) | 用于自主车辆速度跟随的方法和系统 | |
| CN110390240B (zh) | 自动驾驶车辆中的车道后处理 | |
| KR20190100856A (ko) | 곡선 투영을 가속화하기 위한 시스템 및 방법 | |
| WO2019183568A1 (en) | Controlling a robot based on free-form natural language input | |
| WO2017144350A1 (en) | Method for motion planning for autonomous moving objects | |
| CN111830958B (zh) | 用于操作自动驾驶车辆的方法、系统和机器可读介质 | |
| JP7256812B2 (ja) | 自動運転車両の動的コスト関数の実現方法 | |
| JP7439822B2 (ja) | 地図作成装置、地図作成方法、及びプログラム | |
| JP6900029B2 (ja) | 無人航空機、位置推定装置、飛行制御装置、位置推定方法、制御方法及びプログラム | |
| WO2021037071A1 (zh) | 一种飞行控制方法及相关装置 | |
| JP2020086569A (ja) | デバイス制御システム | |
| WO2024118779A1 (en) | Route-relative trajectory generation and optimization computations incorporating vehicle sideslip | |
| Spitzer et al. | Fast and agile vision-based flight with teleoperation and collision avoidance on a multirotor | |
| CN111752295A (zh) | 无人机飞行轨迹规划方法及相关装置 | |
| JP2021099383A (ja) | 情報処理装置、情報処理方法およびプログラム | |
| JP7628972B2 (ja) | 移動体制御方法、移動体制御システム、及び移動体制御プログラム | |
| WO2022004385A1 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
| JP2024510058A (ja) | オブジェクト輪郭を使用した衝突回避 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 21833498 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 21833498 Country of ref document: EP Kind code of ref document: A1 |