US 11,947,358 B2
Obstacle self-learning method and new obstacle self-learning method
Yong Chen, Zhejiang (CN); Jianfei Gong, Zhejiang (CN); Fengwu Chen, Zhejiang (CN); and Zhe Zhang, Zhejiang (CN)
Assigned to ZHEJIANG YAT ELECTRICAL APPLIANCE CO., LTD, Zhejiang (CN)
Appl. No. 16/967,148
Filed by ZHEJIANG YAT ELECTRICAL APPLIANCE CO., LTD, Zhejiang (CN)
PCT Filed May 30, 2019, PCT No. PCT/CN2019/089205
§ 371(c)(1), (2) Date Aug. 4, 2020,
PCT Pub. No. WO2019/228438, PCT Pub. Date Dec. 5, 2019.
Claims priority of application No. 201810556614.6 (CN), filed on Jun. 1, 2018.
Prior Publication US 2020/0356105 A1, Nov. 12, 2020
Int. Cl. A47L 11/40 (2006.01); G05D 1/00 (2006.01); G05D 1/02 (2020.01); G06N 5/04 (2023.01); G06N 20/00 (2019.01)
CPC G05D 1/0221 (2013.01) [G05D 1/0219 (2013.01); G06N 5/04 (2013.01); G06N 20/00 (2019.01); G05D 1/0088 (2013.01)] 7 Claims
OG exemplary drawing
 
1. A self-learning method for an obstacle, comprising:
step 1, acquiring data of a grid map in a movement region, and marking each of grids of the grid map as not being traversed;
step 2, setting a starting grid of the grid map, pushing data of the starting grid into a stack, controlling a movement unit to move to the starting grid, and remarking the starting grid as being traversed;
step 3, controlling the movement unit to traverse the grid map, and acquiring boundary data of the obstacle based on marks of the grids in the grid map, wherein each time one of the grids is traversed, data of the grid is pushed into the stack, and the grid is remarked as being traversed; and
step 4, storing boundary data of the obstacle;
wherein the step 3 comprises the following steps:
step 3-1, checking, by taking a grid corresponding to a top of the stack as a center, marks of an upper grid, a lower grid, a left grid, and a right grid of the grid corresponding to the top of the stack sequentially, wherein
in a case that there is a grid that is marked as not being traversed, the movement unit is controlled to move to the grid, and the method proceeds to step 3-2, and
in a case that none of the grids is marked as not being traversed, an element at the top of the stack is popped, and wherein
if the number of elements in the stack is zero, a traversal for the movement region is completed, and the method proceeds to step 4, and
if the number of the elements in the stack is not zero, the method proceeds to step 3-3,
step 3-2, in a case that no collision occurs during a movement of the movement unit to the grid that is checked as not being traversed in step 3-1, remarking the grid as being traversed, pushing data of the grid into the stack, and returning to perform step 3-1, and in a case that a collision occurs during the movement of the movement unit to the grid that is checked as not being traversed in step 3-1, remarking the grid as an obstacle, controlling the movement unit to return to a previous grid, and returning to perform step 3-1,
step 3-3, checking, by taking the grid corresponding the top of the stack as the center, marks of an upper grid, a lower grid, a left grid, and a right grid of the grid corresponding the top of the stack, wherein
in a case that there is a grid that is checked as not being traversed, the method proceeds to step 3-4, and
in a case that none of the grids is checked as not being traversed, an element at the top of the stack is popped, and wherein
if the number of elements in the stack is zero, a traversal for the movement region is completed, and the method proceeds to step 4, and
if the number of the elements in the stack is not zero, the method proceeds to step 3-3, and
step 3-4, determining an obstacle-free path from a grid where the movement unit is located to the grid corresponding to the top of the stack.