# US 12,007,773 B2 · Method and apparatus for controlling robot, and robot

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

- Number: US 12,007,773 B2
- Document ID: US12007773B2
- Status: Granted
- Kind: B2
- Application number: 17/557,640
- Filed: 2021-12-21
- Published: 2022-08-11
- Granted: 2024-06-11
- Earliest claimed: 2021-02-09
- Assignees: Beijing Xiaomi Robot Technology Co., Ltd.
- Applicants: Beijing Xiaomi Robot Technology Co., Ltd.
- Inventors: Haiwang Xu
- Web page: https://patentgrep.com/patent/US12007773B2

## CPC

- G05D 1/0214: {in accordance with safety or protection criteria, e.g. avoiding hazardous areas (monitoring the location of vehicles within a certain area, e.g. forbidden or allowed areas, in traffic control systems for road vehicles G08G1/13)}
- G05D 1/0274: {using mapping information stored in a memory device (navigation using map-matching G01C21/30)}
- B62D 57/032: with alternately or sequentially lifted supporting base and legs; with alternately or sequentially lifted feet or skid (B62D57/024 takes precedence)
- G05D 1/0238: {using obstacle or wall sensors (G05D1/0246 and G05D1/0289 take precedence; lidar systems designed for anti-collision purposes G01S17/93)}
- G05D 1/617: Safety or protection, e.g. defining protection zones around obstacles or avoiding hazards (arrangements for controlling the position or course of two or more vehicles for avoiding collisions therebetween G05D1/693; arrangements for reacting to or preventing system or operator failure G05D1/80)
- G05D: SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- B62D: MOTOR VEHICLES; TRAILERS (steering, or guiding on a desired track, of agricultural machines or implements A01B69/00; wheels, castors, axles, increasing wheel adhesion B60B; vehicle tyres, tyre inflation or tyre changing B60C; connections between vehicles of a train or the like B60D; vehicles for use on rail and road, amphibious or convertible vehicles B60F; suspension arrangements B60G; heating, cooling, ventilating or other air treating devices B60H; windows, windscreens, non-fixed roofs, doors or similar devices, protective coverings for vehicles not in use B60J; propulsion plant arrangements, auxiliary drives, transmissions, controls, instrumentation or dashboards B60K; electric equipment or propulsion of electrically-propelled vehicles B60L; power supply for electrically-propelled vehicles B60M; passenger accommodation not otherwise provided for B60N; adaptations for load transportation or to carry special loads or objects B60P; arrangement of signalling or lighting devices, the mounting or supporting thereof or circuits therefor, for vehicles in general B60Q; vehicles, vehicle fittings or vehicle parts not otherwise provided for B60R; servicing, cleaning, repairing, supporting, lifting, or manoeuvring, not otherwise provided for, B60S; brake arrangements, brake control systems or parts thereof B60T; air-cushion vehicles B60V; motor-cycles, accessories therefor B62J, B62K; testing of vehicles G01M)

## Abstract

A method for controlling a robot includes: obtaining a target action of the robot; obtaining environment information of a working environment where the robot is located; determining a target work area of the robot based on the environment information and the target action; and controlling the robot to move in the target work area based on the target action.

## Claims

### Claim 1

A method for controlling a robot, comprising:
obtaining a target action of the robot;
obtaining environment information of a working environment where the robot is located, wherein the environment information comprises ground material information and obstacle information of an obstacle;
determining a target work area of the robot based on the environment information and the target action; and
controlling the robot to move in the target work area based on the target action;
wherein determining the target work area of the robot comprises:
determining an operable level of the working environment where the robot is located based on the ground material information, wherein the operable level is configured to characterize a level that a current ground environment is suitable for robot stepping or action;
determining a distance between the robot and an obstacle based on the obstacle information;
in response to the target action being a moving action other than a jumping action, a dancing action and a somersault action, determining a polyhedron corresponding to a torso body of the robot as an action area required for the target action; and
determining the target work area based on the operable level, the distance, and the action area.

### Claim 2 (depends on 1)

The method of claim 1, wherein determining the action area required for the target action further comprises:
in response to the target action being the jumping action, the dancing action or the somersault action, determining a space area covered when the robot performs the target action as the action area.

### Claim 3 (depends on 1)

The method of claim 1, wherein the obstacle information is detected by a sensor, and the obstacle information comprises an obstacle position, determining the distance between the robot and the obstacle comprises:
judging whether a preset area where the robot is located is detected by the sensor based on the obstacle information;
obtaining the obstacle position included in the obstacle information in response to the preset area where the robot is located being detected by the sensor; and
determining the distance between the robot and the obstacle based on the obstacle position.

### Claim 4 (depends on 3)

The method of claim 3, determining the distance between the robot and the obstacle further comprises:
in response to the preset area where the robot is located being not detected by the sensor, generating an obstacle map based on the obstacle information; and
determining the distance between the robot and the obstacle based on the obstacle map.

### Claim 5 (depends on 4)

The method of claim 4, further comprising:
in response to the action area required for the target action overlapping the obstacle map, determining whether there is an open area in a historical map;
in response to the open area being present in the historical map, performing the target action based on the open area; and
in response to the open area being not present in the historical map, detecting a target area within an area with a current position of the robot as a circle center and a preset distance as a radius, until the target area is detected.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
determining a target motion path between a robot position and the target work area; and
controlling the robot to move to the target work area through the target motion path.

### Claim 7 (depends on 2)

The method of claim 2, further comprising:
obtaining a moving speed and a moving direction of the target action; and
extending each action area along the moving direction based on the moving speed to obtain the target working area.

### Claim 8 (depends on 4)

The method of claim 4, wherein the obstacle information comprises depth map information and point cloud data,
generating the obstacle map comprises: generating the obstacle map based on the depth map information or point cloud data.

### Claim 9

An apparatus for controlling a robot, comprising:
a processor; and
a memory for storing instructions executable by the processor;
wherein the processor is configured to
obtain a target action of the robot;
obtain environment information of a working environment where the robot is located, wherein the environment information comprises ground material information and obstacle information of an obstacle;
determine a target work area of the robot based on the environment information and the target action; and
control the robot to move in the target work area based on the target action;
wherein the processor is further configured to:
determine an operable level of the working environment where the robot is located based on the ground material information, wherein the operable level is configured to characterize a level that a current ground environment is suitable for robot stepping or action;
determine a distance between the robot and the obstacle based on the obstacle information;
in response to the target action being a moving action other than a jumping action, a dancing action and a somersault action, determine a polyhedron corresponding to a torso body of the robot as an action area required for the target action; and
determine the target work area based on the operable level, the distance, and the action area.

### Claim 10 (depends on 9)

The apparatus of claim 9, wherein the processor is further configured to:
in response to the target action being the jumping action, the dancing action or the somersault action, determine a space area covered when the robot performs the target action as the action area.

### Claim 11 (depends on 9)

The apparatus of claim 9, wherein the obstacle information is detected by a sensor, and the obstacle information comprises an obstacle position, and the processor is further configured to:
judge whether a preset area where the robot is located is detected by the sensor based on the obstacle information;
obtain an obstacle position included in the obstacle information in response to the preset area where the robot is located being detected by the sensor; and
determine the distance between the robot and the obstacle based on the obstacle position.

### Claim 12 (depends on 11)

The apparatus of claim 11, wherein the processor is further configured to:
in response to the preset area where the robot is located being not detected by the sensor, generate an obstacle map based on the obstacle information; and
determine the distance between the robot and the obstacle based on the obstacle map.

### Claim 13 (depends on 12)

The apparatus of claim 12, wherein the processor is further configured to:
judge whether there is an open area in a historical map in response to the action area required for the target action overlapping the obstacle map;
perform the target action based on the open area in response to the open area being present in the historical map; and
detect a target area within an area with a current position of the robot as a circle center and a preset distance as a radius, until the target area is detected, in response to the open area being not present in the historical map.

### Claim 14 (depends on 9)

The apparatus of claim 9, wherein the processor is further configured to:
determine a target motion path between a robot position and the target work area; and
control the robot to move to the target work area through the target motion path.

### Claim 15 (depends on 10)

The apparatus of claim 10, wherein the processor is further configured to:
obtain a moving speed and a moving direction of the target action; and
extend each the action area along the moving direction based on the moving speed to obtain the target working area.

### Claim 16 (depends on 12)

The apparatus of claim 12, wherein the obstacle information comprises depth map information or point cloud data, the processor is further configured to generate the obstacle map based on the depth map information or point cloud data.

### Claim 17

A robot, comprising:
a head, a torso body, legs connected with the torso body, feet connected with the legs;
a sensor configured to obtain obstacle information by detecting a working environment where the robot is located; and
a controller connected with the torso body, configured to:
obtain a target action of the robot, determine ground material information of the working environment through a deep neural network model, wherein the environment information comprises ground material information and obstacle information of an obstacle, determine a target work area of the robot based on the obstacle information, the ground material information and the target action, and control the robot to move in the target work area based on the target action;
wherein the controller is further configured to:
determine an operable level of the working environment where the robot is located based on the ground material information, wherein the operable level is configured to characterize a level that a current ground environment is suitable for robot stepping or action;
determine a distance between the robot and an obstacle based on the obstacle information;
in response to the target action being a moving action other than a jumping action, a dancing action and a somersault action, determine a polyhedron corresponding to a torso body of the robot as an action area required for the target action; and
determine the target work area based on the operable level, the distance, and the action area.
