# US 12,547,183 B2 · Systems and methods for detecting, mapping, and route planning around cliffs for robotic devices

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,547,183 B2
- Document ID: US12547183B2
- Status: Granted
- Kind: B2
- Application number: 18/787,456
- Filed: 2024-07-29
- Published: 2025-01-30
- Granted: 2026-02-10
- Earliest claimed: 2023-07-27
- Assignees: Brain Corporation
- Applicants: Brain Corporation
- Inventors: Sahil Rajesh Dhayalkar; Peter O'Connor; Kirill A. Pirozhenko; Charles-Alban Bruno Sylvain Deledall
- Web page: https://patentgrep.com/patent/US12547183B2

## CPC

- G05D 1/2462: {using feature-based mapping}
- G05D 1/242: Means based on the reflection of waves generated by the vehicle (using passive navigation aids external to the vehicle G05D1/244; using signals provided by artificial sources external to the vehicle G05D1/247)
- G05D 1/2464: {using an occupancy grid}
- G05D 1/622: Obstacle avoidance (predicting or avoiding probable or impending collision of road vehicles B60W30/08)
- G05D 2109/10: Land vehicles
- G05D 2111/17: {Coherent light, e.g. laser signals}
- G05D: SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES

## Abstract

Systems and methods for detecting, mapping, and route planning around cliffs for robotic devices are disclosed herein. According to at least one non-limiting exemplary embodiment, a robot processing a three-dimensional range sensor scan may utilize pre-computed neighboring points to detect cliffs, navigable ramps, and holes in a plane of a map used by the robotic device to navigate.

## Claims

### Claim 1

A robotic system, comprising:
a three-dimensional (“3D”) range sensor;
a memory comprising a plurality of computer readable instructions stored thereon; and
at least one controller configured to execute the computer readable instructions to:
receive a range measurement from the 3D range sensor, the range measurement comprises a plurality of points, each of the plurality of points comprises at least one neighboring point;
determine, for each point of the plurality of points, that one or more of the points correspond to a cliff based upon at least one of: (i) a magnitude of a vertical difference between the point and the at least one neighboring point being greater than a first value, and (ii) a magnitude of a vertical slope between the point and the at least one neighboring point is greater than a second value; and
rasterize each point determined to represent the cliff into a pixel on a map to cause the robotic system to avoid the pixels on the map representing the cliff.

### Claim 2 (depends on 1)

The robotic system of claim 1, wherein,
the plurality of points comprise a subset of all points generated by the 3D range sensor, and
the subset corresponds to a portion of all points generated by beams of the 3D range sensor which are below a horizon.

### Claim 3 (depends on 1)

The robotic system of claim 1, wherein,
the at least one neighboring point for each of the plurality of points is pre-computed prior to the controller receiving the range measurement.

### Claim 4 (depends on 1)

The robotic system of claim 1, wherein the controller is further configured to execute the computer readable instructions to:
determine, for each point of the plurality of points, that one or more of the plurality of points correspond to at least one hole if the point is below a third value, the third value corresponds to a height below a plane of the map;
back-project the hole points along a path of a beam used to localize the corresponding hole points, the back projection goes until a point where the beam intersects the map plane; and
rasterize the back-projected hole point as a pixel on the map, the pixel on the map is at the point where the beam intersects the map plane, wherein
the hole pixel prevents navigation thereon by the robotic system.

### Claim 5 (depends on 1)

The robotic system of claim 1, wherein the controller is further configured to execute the computer readable instructions to:
determine pixels which lie between a given point and the 3D range sensor; and
rasterize the pixels which lie between the given point and the 3D range sensor as free space, wherein the rasterizing configures the robotic system to plan a path therein.

### Claim 6 (depends on 1)

The robotic system of claim 1, wherein the controller is further configured to execute the computer readable instructions to:
determine, for each point of the plurality of points, that one or more of the points correspond to a navigable ramp based upon (i) the magnitude of a vertical difference between the point and the at least one neighboring point being less than the first value, and (ii) the magnitude of the vertical slope between the point and the at least one neighboring point is less than the second value; and
rasterize each point determined to represent the navigable ramp as a ramp pixel on the map, wherein the rasterizing configures the robotic system to permit navigation thereon.

### Claim 7 (depends on 6)

The robotic system of claim 6, wherein the controller is further configured to execute the computer readable instructions to:
apply a transformation to data from the 3D range sensor based upon the vertical slope of the ramp when navigating the robotic system onto the ramp.

### Claim 8

A method for navigating a robotic system, comprising:
receiving, via a controller of the robotic system, a range measurement from a three-dimensional (“3D”) range sensor, the range measurement comprises of a plurality of points, each of the plurality of points comprises at least one neighboring point;
determine, for each point of the plurality of points, that one or more of the points corresponds to a cliff based upon at least one of: (i) a magnitude of a vertical difference between the point and the at least one neighboring point being greater than a first value, and (ii) a magnitude of a vertical slope between the point and the at least one neighboring point is greater than a second value; and
rasterize each point determined to represent the cliff into a pixel on a map to cause the robotic system to avoid the pixels on the map representing the cliff.

### Claim 9 (depends on 8)

The method of claim 8, wherein,
the plurality of points comprise a subset of all points generated by the 3D range sensor, and
the subset corresponds to a portion of all points generated by beams of the 3D range sensor which are below a horizon.

### Claim 10 (depends on 8)

The method of claim 8, wherein,
the at least one neighboring point for each of the plurality of points is pre-computed prior to the controller receiving the range measurement.

### Claim 11 (depends on 8)

The method of claim 8, further comprising:
determining, for each point of the plurality of points, that one or more of the plurality of points correspond to at least one hole if the point is below a third value, the third value corresponds to a height below a plane of the map;
back-projecting the hole points along a path of a beam used to localize the corresponding hole points, the back projection goes until a point where the beam intersects the map plane; and
rasterizing the back-projected hole point as a pixel on the map, the pixel on the map is at the point where the beam intersects the map plane, wherein
the hole pixel prevents navigation thereon by the robotic system.

### Claim 12 (depends on 8)

The method of claim 8, further comprising:
determining pixels which lie between a given point and the 3D range sensor; and
rasterizing the pixels which lie between the given point and the 3D range sensor as free space, wherein the rasterizing configures the robotic system to plan a path therein.

### Claim 13 (depends on 8)

The method of claim 8, further comprising:
determining, for each point of the plurality of points, that one or more of the points correspond to a navigable ramp based upon (i) the magnitude of a vertical difference between the point and the at least one neighboring point being less than the first value, and (ii) the magnitude of the vertical slope between the point and the at least one neighboring point is less than the second value; and
rasterizing each point determined to represent the navigable ramp as a ramp pixel on the map, wherein the rasterizing configures the robotic system to permit navigation thereon.

### Claim 14 (depends on 13)

The method of claim 13, further comprising:
applying a transformation to data from the 3D range sensor based upon the vertical slope of the ramp when navigating the robotic system onto the ramp.

### Claim 15

A non-transitory computer readable medium comprising computer readable instructions stored thereon that when executed by at least one controller configure the at least one controller to,
receive a range measurement from a three-dimensional (“3D”) range sensor, the range measurement comprises of a plurality of points, each of the plurality of points comprises at least one neighboring point;
determine, for each point of the plurality of points, that one or more of the points correspond to a cliff based upon at least one of (i) a magnitude of a vertical difference between the point and the at least one neighboring point being greater than a first value, and (ii) a magnitude of a vertical slope between the point and the at least one neighboring point is greater than a second value; and
rasterize each point determined to represent the cliff into a pixel on a map to cause the robotic system to avoid the pixels on the map representing the cliff.

### Claim 16 (depends on 15)

The non-transitory computer readable medium comprising of claim 15, wherein,
the plurality of points comprise a subset of all points generated by the 3D range sensor, and
the subset corresponds to a portion of all points generated by beams of the 3D range sensor which are below a horizon.

### Claim 17 (depends on 15)

The non-transitory computer readable medium comprising of claim 15, wherein,
the at least one neighboring point for each of the plurality of points is pre-computed prior to the controller receiving the range measurement.

### Claim 18 (depends on 15)

The non-transitory computer readable medium comprising claim 15, wherein the at least one controller is further configured to execute the computer readable instructions to,
determine, for each point of the plurality of points, that one or more of the plurality of points correspond to at least one hole if the point is below a third value, the third value corresponds to a height below a plane of the map;
back-project the hole points along a path of a beam used to localize the corresponding hole points, the back projection goes until a point where the beam intersects the map plane; and
rasterize the back-projected hole point as a pixel on the map, the pixel on the map is at the point where the beam intersects the map plane, wherein
the hole pixel prevents navigation thereon by the robotic system.

### Claim 19 (depends on 15)

The non-transitory computer readable medium comprising claim 15, wherein the at least one controller is further configured to execute the computer readable instructions to,
determine pixels which lie between a given point and the 3D range sensor; and
rasterize the pixels which lie between the given point and the 3D range sensor as free space, wherein the rasterizing configures the robotic system to plan a path therein.

### Claim 20 (depends on 15)

The non-transitory computer readable medium comprising claim 15, wherein the at least one controller is further configured to execute the computer readable instructions to,
determine, for each point of the plurality of points, that one or more of the points correspond to a navigable ramp based upon (i) the magnitude of a vertical difference between the point and the at least one neighboring point being less than the first value, and (ii) the magnitude of the vertical slope between the point and the at least one neighboring point is less than the second value; and
rasterize each point determined to represent the navigable ramp as a ramp pixel on the map, wherein the rasterizing configures the robotic system to permit navigation thereon.
