KR20220106810A - 글로벌 그리드 맵의 맵 순회 블록의 구축 방법, 칩 및 이동 로봇 - Google Patents

글로벌 그리드 맵의 맵 순회 블록의 구축 방법, 칩 및 이동 로봇 Download PDF

Info

Publication number
KR20220106810A
KR20220106810A KR1020227021976A KR20227021976A KR20220106810A KR 20220106810 A KR20220106810 A KR 20220106810A KR 1020227021976 A KR1020227021976 A KR 1020227021976A KR 20227021976 A KR20227021976 A KR 20227021976A KR 20220106810 A KR20220106810 A KR 20220106810A
Authority
KR
South Korea
Prior art keywords
map
coordinate axis
traversal block
map traversal
block
Prior art date
Application number
KR1020227021976A
Other languages
English (en)
Inventor
밍 리
친웨이 라이
용용 리
Original Assignee
아미크로 세미컨덕터 씨오., 엘티디.
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 아미크로 세미컨덕터 씨오., 엘티디. filed Critical 아미크로 세미컨덕터 씨오., 엘티디.
Publication of KR20220106810A publication Critical patent/KR20220106810A/ko

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/24Floor-sweeping machines, motor-driven
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/40Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/40Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
    • A47L11/4002Installations of electric equipment
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/40Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
    • A47L11/4011Regulation of the cleaning machine by electric means; Control systems and remote control systems therefor
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L11/00Machines for cleaning floors, carpets, furniture, walls, or wall coverings
    • A47L11/40Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
    • A47L11/4061Steering means; Means for avoiding obstacles; Details related to the place where the driver is accommodated
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L9/00Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
    • A47L9/28Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
    • A47L9/2836Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means characterised by the parts which are controlled
    • A47L9/2852Elements for displacement of the vacuum cleaner or the accessories therefor, e.g. wheels, casters or nozzles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data
    • G01C21/3807Creation or updating of map data characterised by the type of data
    • G01C21/383Indoor data
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3863Structures of map data
    • G01C21/387Organisation of map data, e.g. version management or database structures
    • G01C21/3881Tile-based structures
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47LDOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
    • A47L2201/00Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
    • A47L2201/04Automatic control of the travelling movement; Automatic obstacle detection
    • G05D2201/0203

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Mechanical Engineering (AREA)
  • Databases & Information Systems (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Processing Or Creating Images (AREA)
  • Complex Calculations (AREA)

Abstract

글로벌 그리드 맵의 맵 순회 블록의 구축 방법, 칩 및 이동 로봇에 있어서, 맵 순회 블록의 구축 방법은, 맵 순회 블록이 글로벌 그리드 맵에서 충분히 큰 그리드 영역을 차지하도록, 글로벌 그리드 맵의 사이즈 크기에 따라 맵 순회 블록의 변 길이를 설정하는 단계 1; 글로벌 그리드 맵의 사이즈 크기와 단계 1에서 결정된 맵 순회 블록의 변 길이의 비율 관계에 근거하여, 글로벌 그리드 맵의 각 글로벌 좌표축 방향에서의 맵 순회 블록의 커버리지 수를 계산하는 단계 2; 및 단계 2에서 결정된 맵 순회 블록의 커버리지 수의 제약 작용에 따라 단계 1에서 결정된 맵 순회 블록의 변 길이에 대해 행별 및 열별 누적 동작을 수행하여 각 맵 순회 블록의 매핑 좌표를 계산함으로써 맵 순회 블록이 글로벌 그리드 맵의 각 행 및 각 열에 구축하는 단계 3; 을 포함한다. 따라서, 이동 로봇의 포지셔닝에 관한 컴퓨팅 성능 및 맵 데이터 저장 공간에 대한 요구가 낮아진다.

Description

글로벌 그리드 맵의 맵 순회 블록의 구축 방법, 칩 및 이동 로봇
본 발명은 맵 영역 분할 기술분야에 관한 것으로, 특히 글로벌 그리드 맵의 맵 순회 블록의 구축 방법, 칩 및 이동 로봇에 관한 것이다.
청소 로봇이 고효율적으로 청소 임무를 완성할 수 있는 전제는 주변 환경을 설명하는 맵을 구비하는 것이다. 환경 맵 생성 측면에서 로봇은 센서를 통해 기존 SLAM(Simultaneous Localization And Mapping) 기술을 결합하여 엣지를 따라 학습하는 등 방식으로 환경 정보를 획득하고 이를 기반으로 환경의 특징을 설명하는 그래드 맵을 구축한다. 맵이 구축된 후 스위퍼 로봇은 청소 작업을 수행할 수 있다.
청소 로봇의 작업 효율성에 대한 사람들의 요구가 높아짐에 따라, 특히 일부 대규모 실내 글로벌 환경에서 스위퍼 로봇이 수집해야 하는 그리드 정보 양의 큰 증가로 인해 그리드 맵 구축 및 사용을 위한 소프트웨어 리소스가 증가되어 글로벌 그리드 맵을 사용하는 로봇의 네비게이션 효율성을 감소시킨다.
상술한 기술적 과제를 해결하기 위해, 본 발명은 글로벌 맵의 행 및 열 분포 특징에 의존하여 그리드를 블록화 처리하는 기술을 개시하는데, 그 구체적인 내용은 하기와 같다.
글로벌 그리드 맵의 맵 순회 블록의 구축 방법으로서, 맵 순회 블록이 글로벌 그리드 맵에서 충분히 큰 그리드 영역을 차지하도록, 글로벌 그리드 맵의 사이즈 크기에 따라 맵 순회 블록의 변 길이를 설정하는 단계 1; 글로벌 그리드 맵의 사이즈 크기와 단계 1에서 결정된 맵 순회 블록의 변 길이의 비율 관계에 근거하여, 글로벌 그리드 맵의 각 글로벌 좌표축 방향에서의 맵 순회 블록의 커버리지 수를 계산하는 단계 2; 및 단계 2에서 결정된 맵 순회 블록의 커버리지 수의 제약 작용에 따라 단계 1에서 결정된 맵 순회 블록의 변 길이에 대해 행별 및 열별 누적 동작을 수행함으로써, 각 맵 순회 블록의 매핑 좌표를 계산하여 맵 순회 블록이 상기 글로벌 그리드 맵의 각 행 및 각 열에 구축하는 단계 3을 포함하되, 각 맵 순회 블록은 모두 매핑 좌표 및 변 길이에 따라 대응되는 그리드를 병합하여 형성된다. 종래 기술과 비교하여, 본 발명은 맵의 각 행 및 각 열의 그리드를 병합하여 일정한 사이즈 크기와 수의 맵 순회 블록으로 구축함으로써, 대규모 글로벌 그리드 맵을 복수의 맵 서브 영역으로 구획하여 이동 로봇의 네비게이션 및 포지셔닝에 관한 컴퓨팅 성능 및 맵 데이터 저장 공간에 대한 요구가 낮아지며, 리소스 소비를 줄인다.
나아가, 상기 글로벌 그리드 맵의 각 행의 맵 순회 블록은 모두 수평 좌표축 방향으로 설치되고 수직 좌표축 방향의 투영은 겹치며, 상기 글로벌 그리드 맵의 각 열의 맵 순회 블록은 모두 수직 좌표축 방향으로 설치되고 수평 좌표축 방향의 투영은 겹치며; 글로벌 좌표축 방향은 수직 좌표축 방향과 수평 좌표축 방향을 포함한다. 본 발명은 글로벌 맵의 그리드를 행별 및 열별로 병합하여 규칙적으로 분포된 맵 순회 블록으로 블록화 처리한다.
나아가, 상기 단계 1은 구체적으로, 하나의 표준 변 길이를 미리 설정하는 단계 11; 상기 글로벌 그리드 맵의 길이와 너비가 모두 표준 변 길이의 2배보다 큰지 여부를 판단하여, 크면 상기 맵 순회 블록의 변 길이를 표준 변 길이로 설정하고, 그렇지 않으면 단계 13으로 진입하는 단계 12; 상기 글로벌 그리드 맵의 길이와 너비가 모두 표준 변 길이보다 큰지 여부를 판단하여, 크면 상기 맵 순회 블록의 변 길이를 표준 변 길이의 1/2로 설정하고, 그렇지 않으면 단계 14로 진입하는 단계 13; 및 상기 맵 순회 블록의 변 길이를 표준 변 길이의 1/4로 설정하는 단계 14를 포함하되, 상기 글로벌 그리드 맵은 직사각형 맵 영역이다. 맵 순회 블록이 글로벌 그리드 맵에서 충분히 큰 그리드 영역을 차지하도록 함으로써, 로봇이 표기 적응 범위의 맵 경로 정보를 순회하기에 편리하다.
나아가, 상기 단계 2는 구체적으로, 상기 글로벌 그리드 맵의 유효 길이와 상기 맵 순회 블록의 변 길이의 비율을 계산한 다음 1을 더하여, 글로벌 그리드 맵의 수직 좌표축 방향에서의 맵 순회 블록의 커버리지 수를 획득하는 단계; 및 상기 글로벌 그리드 맵의 유효 너비와 상기 맵 순회 블록의 변 길이의 비율을 계산한 다음 1을 더하여, 글로벌 그리드 맵의 수평 좌표축 방향으로 구축된 맵 순회 블록의 커버리지 수를 획득하는 단계를 포함한다. 따라서 상기 커버리지 수의 상기 맵 순회 블록은 상기 글로벌 작업 영역의 환경 정보를 완전히 표기한다.
나아가, 상기 단계 3은 구체적으로, 글로벌 그리드 맵의 좌측 하부 모서리의 그리드 위치를 기준 원점으로 설정한 후 단계 32로 진입하는 단계 31; 상기 기준 원점으로부터 시작하여 기준 원점의 수직 좌표축의 좌표에 맵 순회 블록의 변 길이를 더하여 현재 구축된 맵 순회 블록의 수직 좌표축의 매핑 좌표를 계산 및 결정하는 동시에, 현재 맵 순회 블록의 수평 좌표축의 매핑 좌표와 기준 원점의 수평 좌표축의 좌표가 동일한 것으로 결정한 후 단계 33으로 진입하되, 상기 기준 원점은 글로벌 그리드 맵의 각 글로벌 좌표축에서 좌표값이 가장 작은 위치인 단계 32; 수직 좌표축 방향에서 매핑 좌표가 이미 결정된 맵 순회 블록의 개수가 글로벌 그리드 맵의 수직 좌표축 방향에서의 맵 순회 블록의 커버리지 수보다 작은지 여부를 판단하여, 작으면 단계 34로 진입하고, 그렇지 않으면 단계 35로 진입하는 단계 33; 현재 결정된 맵 순회 블록의 수직 좌표축의 매핑 좌표에 맵 순회 블록의 변 길이를 더하여 동일한 수직 좌표축 방향에서 인접한 맵 순회 블록의 수직 좌표축의 매핑 좌표를 계산 및 결정하는 동시에, 동일한 수직 좌표축 방향에서 인접한 맵 순회 블록의 수평 좌표축의 매핑 좌표와 현재 결정된 맵 순회 블록의 수평 좌표축의 매핑 좌표가 동일한 것으로 결정한 후, 단계 33으로 돌아가 동일한 수직 좌표축 방향에서의 커버리지 수의 제약 작용 하에서 각 맵 순회 블록의 동일한 수직 좌표축 방향의 매핑 좌표를 행별로 결정하는 단계 34; 현재 결정된 맵 순회 블록의 수평 좌표축의 매핑 좌표에 맵 순회 블록의 변 길이를 더하여 동일한 수평 좌표축 방향에서 인접한 맵 순회 블록의 수평 좌표축의 매핑 좌표를 계산 및 결정하는 동시에, 동일한 수평 좌표축 방향에서 인접한 맵 순회 블록의 수직 좌표축의 매핑 좌표와 현재 결정된 맵 순회 블록의 수직 좌표축의 매핑 좌표가 동일한 것으로 결정한 후, 단계 36으로 진입하여 동일한 수평 좌표축 방향에서의 커버리지 수의 제약 작용 하에서 각 맵 순회 블록의 동일한 수평 좌표축 방향의 매핑 좌표를 열별로 결정하는 단계 35; 및 수평 좌표축 방향에서 매핑 좌표가 이미 결정된 맵 순회 블록의 개수가 글로벌 그리드 맵의 수평 좌표축 방향에서의 맵 순회 블록의 커버리지 수보다 작은지 여부를 판단하여, 작으면 단계 33으로 돌아가고, 그렇지 않으면 이미 행별 및 열별로 계산된 상기 글로벌 그리드 맵 중 각 맵 순회 블록의 매핑 좌표를 결정함으로써, 상기 글로벌 그리드 맵의 각 행 및 각 열이 모두 상기 맵 순회 블록을 구축하여 상기 글로벌 그리드 맵의 블록화 처리를 완료하는 단계 36을 포함한다. 해당 기술적 해결수단은 전술한 단계에서 결정된 맵 순회 블록의 커버리지 수에 의한 맵 경계 제약 작용에 따라, 현재 열을 먼저 순회한 후 다음 열을 순회하는 것을 포함하여 수평 좌표축 방향으로 분포된 모든 열의 맵 순회 블록을 순회할 때까지 결정된 맵 순회 블록의 변 길이에 대해 행별 및 열별 누적 동작을 수행하여, 각 맵 순회 블록의 매핑 좌표를 결정하고, 맵 순회 블록을 상기 글로벌 그리드 맵의 각 행 및 각 열의 규칙 영역 블록에 구축함으로써 글로벌 그리드 맵을 상기 맵 순회 블록으로 분할한다.
나아가, 상기 단계 3은 구체적으로, 글로벌 그리드 맵의 좌측 하부 모서리의 그리드 위치를 기준 원점으로 설정한 후 단계 32로 진입하는 단계 31; 상기 기준 원점으로부터 시작하여 기준 원점의 수평 좌표축의 매핑 좌표에 맵 순회 블록의 변 길이를 더하여 동일한 수평 좌표축 방향에서 인접한 맵 순회 블록의 수평 좌표축의 매핑 좌표를 계산 및 결정하는 동시에, 현재 맵 순회 블록의 수직 좌표축의 매핑 좌표와 기준 원점의 수직 좌표축의 좌표가 동일한 것으로 결정한 후 단계 33으로 진입하되, 상기 기준 원점은 글로벌 그리드 맵의 각 글로벌 좌표축에서 좌표값이 가장 작은 위치인 단계 32; 수평 좌표축 방향에서 매핑 좌표가 이미 결정된 맵 순회 블록의 개수가 글로벌 그리드 맵의 수평 좌표축 방향에서의 맵 순회 블록의 커버리지 수보다 작은지 여부를 판단하여, 작으면 단계 34로 진입하고, 그렇지 않으면 단계 35로 진입하는 단계 33; 현재 결정된 맵 순회 블록의 수평 좌표축의 매핑 좌표에 맵 순회 블록의 변 길이를 더하여 동일한 수평 좌표축 방향에서 인접한 맵 순회 블록의 수평 좌표축의 매핑 좌표를 계산 및 결정하는 동시에, 동일한 수평 좌표축 방향에서 인접한 맵 순회 블록의 수직 좌표축의 매핑 좌표와 현재 결정된 맵 순회 블록의 수직 좌표축의 매핑 좌표가 동일한 것으로 결정한 후, 단계 33으로 진입하여 동일한 수평 좌표축 방향에서의 커버리지 수의 제약 작용 하에서 각 맵 순회 블록의 동일한 수평 좌표축 방향의 매핑 좌표를 열별로 결정하는 단계 34; 현재 결정된 맵 순회 블록의 수직 좌표축의 매핑 좌표에 맵 순회 블록의 변 길이를 더하여 동일한 수직 좌표축 방향에서 인접한 맵 순회 블록의 수직 좌표축의 매핑 좌표를 계산 및 결정하는 동시에, 동일한 수직 좌표축 방향에서 인접한 맵 순회 블록의 수평 좌표축의 매핑 좌표와 현재 결정된 맵 순회 블록의 수평 좌표축의 매핑 좌표가 동일한 것으로 결정한 후, 단계 36으로 돌아가 동일한 수직 좌표축 방향에서의 커버리지 수의 제약 작용 하에서 각 맵 순회 블록의 동일한 수직 좌표축 방향의 매핑 좌표를 행별로 결정하는 단계 35; 및 수직 좌표축 방향에서 매핑 좌표가 이미 결정된 맵 순회 블록의 개수가 글로벌 그리드 맵의 수직 좌표축 방향에서의 맵 순회 블록의 커버리지 수보다 작은지 여부를 판단하여, 작으면 단계 33으로 돌아가고, 그렇지 않으면 이미 행별 및 열별로 계산된 상기 글로벌 그리드 맵 중 각 맵 순회 블록의 매핑 좌표를 결정함으로써, 상기 글로벌 그리드 맵의 각 행 및 각 열이 모두 상기 맵 순회 블록을 구축하여 상기 글로벌 그리드 맵의 블록화 처리를 완료하는 단계 36을 포함한다. 해당 기술적 해결수단의 기술적 효과는 상기 기술적 해결수단과 동일하다.
나아가, 로봇이 순회한 그리드 포인트의 수직 좌표축의 좌표는 맵 순회 블록의 수직 좌표축의 매핑 좌표 이상이고, 상기 맵 순회 블록의 수직 좌표축의 매핑 좌표와 상기 맵 순회 블록의 변 길이의 합에서 1을 감한 결과 이하이며, 로봇이 순회한 그리드 포인트의 수평 좌표축의 좌표는 맵 순회 블록의 수평 좌표축의 매핑 좌표 이상이고, 로봇이 순회한 그리드 포인트의 수직 좌표축의 좌표는 상기 맵 순회 블록의 수평 좌표축의 매핑 좌표와 상기 맵 순회 블록의 변 길이의 합에서 1을 감한 결과 이하인 경우, 로봇이 순회한 상기 그리드 포인트가 상기 맵 순회 블록 내에 위치하는 것으로 결정한다. 따라서 청소 로봇이 상기 맵 순회 블록 내부의 어느 하나의 그리드를 순회한 경우, 대응되는 맵 순회 블록을 이미 순회된 맵 순회 블록으로 표기한다. 본 기술적 해결수단은 맵 순회 블록의 좌측 경계가 그 내부 영역에 포함되도록 정의하고, 맵 순회 블록의 우측 경계가 수평 좌표축 방향의 인접한 맵 순회 블록 내부 영역에 포함되도록 정의하며; 맵 순회 블록의 하측 경계가 그 내부 영역에 포함되도록 정의하고, 맵 순회 블록의 상측 경계가 수직 좌표축 방향의 인접한 맵 순회 블록의 내부 영역에 포함되도록 정의한다.
제어 프로그램이 내장된 칩으로서, 상기 제어 프로그램은 상기 맵 순회 블록의 구축 방법을 수행하여, 이동 로봇이 실시간으로 구축한 글로벌 그리드 맵을 구획하는데 사용된다.
이동 로봇으로서, 상기 이동 로봇에는 상술한 칩이 내장된다.
도 1은 본 발명의 실시예에 따른 글로벌 그리드 맵의 맵 순회 블록의 구축 방법의 방법 흐름도이다.
도 2는 본 발명의 실시예에 따른 맵 순회 블록의 변 길이 설정 방법의 방법 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 맵 순회 블록의 매핑 좌표 계산 방법의 방법 흐름도이다.
이하, 본 발명의 실시예의 첨부 도면을 참조하여 본 발명의 실시예의 기술적 해결수단을 상세히 설명한다. 다양한 실시예를 추가로 설명하기 위해, 본 발명은 첨부 도면을 제공한다. 이들 도면은 본 발명의 개시 내용의 일부로, 주로 실시예를 설명하기 위해 사용되고, 실시예의 작동 원리를 해석하기 위해 명세서의 관련 설명과 함께 사용될 수 있다. 이러한 내용을 참조하여, 당업자는 본 발명의 다른 가능한 실시예 및 이점을 이해할 것이다. 도면의 구성 요소는 축척에 따라 그려진 것이 아니며 유사한 부호는 일반적으로 유사한 구성 요소를 나타낸다.
본 발명의 실시예는 글로벌 그리드 맵의 맵 순회 블록의 구축 방법을 개시하는데, 상기 맵 순회 블록의 구축 방법은 청소 로봇이 기설정된 청소 방식으로 글로벌 작업 영역을 청소하고 순회하기 전에 수행되어 이동 로봇이 블록화 처리된 글로벌 작업 영역을 청소하도록 할 수 있다. 도 1에 도시된 바와 같이, 해당 맵 순회 블록의 구축 방법은, 맵 순회 블록의 구축 방법이 글로벌 그리드 맵에서 일정한 커버리지 범위의 그리드 영역을 차지하도록, 글로벌 그리드 맵의 사이즈 크기(맵 길이 및 너비 포함)에 따라 맵 순회 블록의 변 길이를 설정하되,상기 그리드 영역 범위는 당업자가 청소 로봇의 사이즈 크기와 위치한 작업 영역에 따라 설정된 것인 단계 S1; 글로벌 그리드 맵의 사이즈 크기와 단계 S1에서 결정된 맵 순회 블록의 변 길이의 비율 관계에 근거하여, 글로벌 그리드 맵의 각 글로벌 좌표축 방향(글로벌 좌표계의 X축 및 Y축 방향 포함)의 맵 순회 블록의 커버리지 수를 계산하되, 맵 순회 블록은 글로벌 그리드 맵에서 구획된 서브 영역에 해당되는 단계 S2; 및 단계 S2에서 결정된 맵 순회 블록의 커버리지 수의 제약 작용에 따라 단계 S1에서 결정된 맵 순회 블록의 변 길이에 대해 행별 및 열별 누적 동작을 수행함으로써, 각 맵 순회 블록의 매핑 좌표를 계산하여 맵 순회 블록이 상기 글로벌 그리드 맵의 각 행 및 각 열에 구축하는 바, 즉, 맵 순회 블록의 커버리지 수는 글로벌 그리드 맵의 경계 정보를 결정하고, 상기 글로벌 그리드 맵의 각 행 및 각 열에서 맵 순회 블록의 분포 수 및 위치를 결정할 수 있되, 각 맵 순회 블록은 모두 매핑 좌표 및 변 길이에 따라 대응되는 그리드를 병합하여 형성되는 단계 S3을 포함한다. 본 발명은 맵의 각 행 및 각 열의 그리드를 병합하여 일정한 사이즈 크기와 수의 맵 순회 블록으로 구축함으로써, 각 맵 순회 블록은 모두 실제 환경에서 차지하는 하나의 작은 블록 영역에 대응되어 그리드의 크기를 약간 크게 설정하고 로봇의 대체 경로를 계획하기만 하면 되므로 계산량을 줄이고 로봇이 맵 정보를 처리하기에 용이하며; 상기 맵 순회 블록의 구축 방법은 대규모 글로벌 그리드 맵을 복수의 맵 서브 영역으로 구획하여 이동 로봇의 네비게이션 및 포지셔닝에 관한 컴퓨팅 성능 및 맵 데이터 저장 공간에 대한 요구가 낮이지고, 글로벌 맵 중의 그리드면의 컴퓨팅 리소스를 절약하며, 데이터 처리 속도를 가속화한다. 따라서 경로 계획, 엣지를 따르는 보행, 충진 경로 계획의 커버리지 비율 및 영역 면적 계산에 적용될 수 있다.
설명해야 할 점은, 상기 글로벌 그리드 맵의 각 행의 맵 순회 블록은 모두 수평 좌표축 방향으로 설치되고 수직 좌표축 방향의 투영은 겹치며, 상기 글로벌 그리드 맵의 각 열의 맵 순회 블록은 모두 수직 좌표축 방향으로 설치되고 수평 좌표축 방향의 투영은 겹치며; 글로벌 좌표축 방향은 수직 좌표축 방향과 수평 좌표축 방향을 포함한다. 본 발명은 글로벌 맵의 그리드를 행별 및 열별로 병합하여 규칙적으로 분포된 맵 순회 블록으로 구축하는데, 이는 글로벌 맵을 하나하나의 작은 맵 블록으로 분할하는 것과 같다.
일 실시예로서, 도 2에 개시된 맵 순회 블록의 변 길이 설정 방법의 흐름도에 도시된 바와 같이, 상기 단계 S1은 구체적으로 하기와 같은 단계를 포함한다. 단계 S11에서, 하나의 표준 변 길이(E)를 미리 설정하되, 그 최대값은 16으로 설정될 수 있어 각 맵 순회 블록이 최대 16Х16개 그리드로 충진되도록 한 후 단계 S12로 진입한다. 본 실시예의 글로벌 작업 영역에 대응되는 상기 글로벌 그리드 맵은 직사각형 맵이고, 상기 글로벌 그리드 맵을 충진하고 커버하는 맵 순회 블록은 정사각형이다. 단계 S12에서, 상기 글로벌 그리드 맵의 길이와 너비가 모두 표준 변 길이의 2배보다 큰지 여부를 판단하여, 크면 상기 맵 순회 블록의 변 길이를 표준 변 길이로 설정하고, 그렇지 않으면 단계 S13으로 진입한다. 단계 S13에서, 상기 글로벌 그리드 맵의 길이와 너비가 모두 표준 변 길이보다 큰지 여부를 판단하여, 크면 상기 맵 순회 블록의 변 길이를 표준 변 길이의 1/2로 설정하고, 그렇지 않으면 단계 S14로 진입한다. 단계 S14에서, 상기 맵 순회 블록의 변 길이를 표준 변 길이의 1/4로 설정한다. 종래 기술과 비교하여 16Х16개 맵 그리드마다 구성되는 맵 순회 블록은 상기 글로벌 그리드 맵에 대한 그리드 확장 처리를 구현하여 맵 순회 블록이 글로벌 그리드 맵에서 충분히 큰 그리드 영역을 차지하도록 하므로 로봇이 표기 적응 범위의 맵 경로 정보를 순회하기에 편리하다. 따라서 그리드의 크기를 약간 크게 설정하고 로봇의 대체 경로를 계획하기만 하면 되므로 계산량을 줄이고, 경로 계획, 엣지를 따르는 보행, 충진 경로 계획에 사용하기에 적합하다.
본 실시예에서는, 상기 글로벌 그리드 맵의 유효 길이와 상기 맵 순회 블록의 변 길이의 비율을 계산한 다음 1을 더하여, 글로벌 그리드 맵의 수직 좌표축 방향으로 구축된 맵 순회 블록의 커버리지 수를 획득하고; 상기 글로벌 그리드 맵의 유효 너비와 상기 맵 순회 블록의 변 길이의 비율을 계산한 다음 1을 더하여, 글로벌 그리드 맵의 수평 좌표축 방향으로 구축된 맵 순회 블록의 커버리지 수를 획득한다. 여기서 1을 더하는 처리의 필요성은 소프트웨어 시스템이 상기 글로벌 그리드 맵의 유효 길이와 상기 맵 순회 블록의 변 길이의 비율의 정수 부분을 취하고, 소수점 부분을 무시하므로 1을 더하는 처리를 수행함으로써, 전술한 커버리지 수의 맵 순회 블록이 글로벌 작업 영역의 실제 커버리지를 완전히 기록하도록 확보하여 공간 영역의 중복성을 향상시키는 것이다.
전술한 방법에 따라 상기 맵 순회 블록의 변 길이를 결정하는 기초 상에서 상기 글로벌 그리드 맵의 각 글로벌 좌표축 방향의 맵 순회 블록 개수를 계산 및 결정하는 단계는 구체적으로 다음과 같이 구분된다. 상기 글로벌 그리드 맵의 상기 수직 좌표축 방향(즉, 길이 방향)의 맵 순회 블록의 개수 H=글로벌 그리드 맵의 유효 길이와 상기 맵 순회 블록의 변 길이의 비율+1이고, 상기 글로벌 그리드 맵의 상기 수평 좌표축 방향(즉, 너비 방향)의 맵 순회 블록의 개수 W=글로벌 그리드 맵의 유효 너비와 상기 맵 순회 블록의 변 길이의 비율+1이다. 본 실시예에서 유효 길이 및 유효 너비는 로봇이 순회하는 그리드 영역을 포함하고, 상기 그리드 영역은 상기 맵 순회 블록을 구축하는데 사용된다.
일 실시예로서, 도 3에 개사된 각 맵 순회 블록의 매핑 좌표 계산 방법의 흐름도에 도시된 바와 같이, 상기 단계 S3은 구체적으로 하기와 같은 단계를 포함한다. 단계 S31에서, 글로벌 그리드 맵의 좌측 하부 모서리의 그리드 위치를 기준 원점으로 설정한 후 단계 S32로 진입하고; 글로벌 그리드 맵의 좌측 하부 모서리를 기준 원점으로 하여 상기 맵 순회 블록의 매핑 좌표를 계산한다. minx, miny가 각각 글로벌 그리드 맵의 기준 원점 좌표이고, 글로벌 그리드 맵의 X축의 최소 좌표값 및 글로벌 그리드 맵의 Y축의 최소 좌표값과도 동일한 것으로 가정하면, i는 X축 방향에서 기준 원점에 대한 상기 맵 순회 블록의 오프셋으로 설정되고, i+1은 수평 좌표축 방향에서 매핑 좌표가 이미 결정된 맵 순회 블록의 개수에 해당되며; j는 Y축 방향에서 기준 원점에 대한 상기 맵 순회 블록의 오프셋으로 설정되고, j+1은 수직 좌표축 방향에서 매핑 좌표가 이미 결정된 맵 순회 블록의 개수에 해당되며; e는 상기 맵 순회 블록의 변 길이이고; X(i, j)는 글로벌 그리드 맵의 수평 좌표축 방향에서 상기 맵 순회 블록의 매핑 좌표이며, Y(i, j)는 글로벌 그리드 맵의 수직 좌표축 방향에서 상기 맵 순회 블록의 매핑 좌표이다. 단계 S32에서, 상기 기준 원점 좌표 위치(minx, miny)로부터 시작하여 기준 원점의 수직 좌표축의 좌표에 맵 순회 블록의 변 길이를 더하여 현재 맵 순회 블록의 수직 좌표축의 매핑 좌표를 계산 및 결정하는 바, 즉 j=0인 경우, 수직 좌표축의 최소 매핑 좌표 Y(i, j)=j*e+miny=miny를 획득하는 동시에, 현재 맵 순회 블록의 수평 좌표축의 매핑 좌표와 기준 원점의 수평 좌표축의 좌표 minx가 동일한 것으로 결정한 후 단계 S33으로 진입한다. 단계 S33에서, 수직 좌표축 방향에서 매핑 좌표가 이미 결정된 맵 순회 블록의 개수 j가 글로벌 그리드 맵의 수직 좌표축 방향에서의 맵 순회 블록의 커버리지 수 H보다 작은지 여부를 판단하여, 작으면 단계 S34로 진입하고, 그렇지 않으면 단계 S35로 진입한다. 단계 S34에서, 현재 결정된 맵 순회 블록의 수직 좌표축의 매핑 좌표에 맵 순회 블록의 변 길이를 더하여 동일한 수직 좌표축 방향에서 인접한 맵 순회 블록의 수직 좌표축의 매핑 좌표를 계산 및 결정하는 바, 즉 Y(i, j+1)=(j+1)*e+miny인 경우, 동일한 수직 좌표축 방향에서 인접한 Y축 매핑 좌표를 형성하고, 단계 S34에 진입할 때마다 j는 자동으로 1씩 더해지며; 동시에 동일한 수직 좌표축 방향에서 인접한 맵 순회 블록의 수평 좌표축의 매핑 좌표 X(i, j+1)와 현재 결정된 맵 순회 블록의 수평 좌표축의 매핑 좌표 X(i, j)가 동일한 것으로 결정한 후, 단계 S33으로 돌아가 동일한 수직 좌표축 방향에서의 커버리지 수의 제약 작용 하에서 각 맵 순회 블록의 동일한 수직 좌표축 방향의 매핑 좌표를 행별로 결정한다. 단계 S35에서, 현재 결정된 맵 순회 블록의 수평 좌표축의 매핑 좌표에 맵 순회 블록의 변 길이를 더하여 동일한 수평 좌표축 방향에서 인접한 맵 순회 블록의 수평 좌표축의 매핑 좌표를 계산 및 결정하는 바, 즉 i=0인 경우, 수평 좌표축의 최소 매핑 좌표 X(i, j)=i*e+minx=minx를 획득하되, 단계 S35로 진입할 때마다 i는 자동으로 1이 더해지며; 동시에 동일한 수평 좌표축 방향에서 인접한 맵 순회 블록의 수직 좌표축의 매핑 좌표 Y(i+1, j)와 현재 결정된 맵 순회 블록의 수직 좌표축의 매핑 좌표 Y(i, j)가 동일한 것으로 결정한 후, 단계 S36으로 진입하여 동일한 수평 좌표축 방향에서의 커버리지 수의 제약 작용 하에서 각 맵 순회 블록의 동일한 수평 좌표축 방향의 매핑 좌표를 열별로 결정한다. 단계 S36에서, 수평 좌표축 방향에서 매핑 좌표가 이미 결정된 맵 순회 블록의 개수 i가 글로벌 그리드 맵의 수평 좌표축 방향에서의 맵 순회 블록의 커버리지 수 W보다 작은지 여부를 판단하여, 작으면 단계 S33으로 돌아가고, 그렇지 않으면 이미 행별 및 열별로 계산된 상기 글로벌 그리드 맵 중 각 맵 순회 블록의 매핑 좌표를 결정함으로써, 상기 글로벌 그리드 맵의 각 행 및 각 열이 모두 상기 맵 순회 블록을 구축하여 상기 글로벌 그리드 맵의 블록화 처리를 완료하도록 한다. 따라서 X축 및 Y축 방향에서 기준 원점에 대한 상기 맵 순회 블록의 오프셋 및 변 길이에 따라 X축 방향에서 상기 맵 순회 블록의 최소 매핑 좌표 X(i, j)= i*e+minx, 및 Y축 방향에서 이의 최소 매핑 좌표 Y(i, j)=j*e+miny를 계산할 수 있고, 이에 따라 상기 글로벌 그리드 맵의 X축 방향과 Y축 방향의 맵 순회 블록이 위치한 그리드 좌표 범위를 결정하는 바, 즉 X축 방향에서 상기 맵 순회 블록이 위치한 그리드 좌표 범위는 X(i, j)보다 크거나 같고 또한 X(i, j)+e-1보다 작거나 같으며; Y축 방향에서 맵 순회 블록이 위치한 그리드 좌표 범위는 Y(i, j)보다 크거나 같고 또한 Y(i, j)+e-1보다 작거나 같다. 따라서 상기 글로벌 그리드 맵의 각 글로벌 좌표축 방향에서 맵 순회 블록의 개수 및 이가 위치한 그리드 좌표 범위에 따라, 맵 순회 블록을 상기 글로벌 그리드 맵의 각 행 및 각 열에 배치한다. 전술한 실시예는 전술한 단계에서 결정된 맵 순회 블록의 커버리지 수에 의한 맵 경계 제약 작용에 따라, 결정된 맵 순회 블록의 변 길이에 대해 행별 및 열별 누적 동작을 수행하여, 현재 열을 먼저 순회한 후 다음 열을 순회하는 것을 포함하여 수평 좌표축 방향으로 분포된 모든 열의 맵 순회 블록을 순회할 때까지 결정된 맵 순회 블록의 변 길이에 대해 행별 및 열별 누적 동작을 수행하여, 각 맵 순회 블록의 매핑 좌표를 결정하고, 맵 순회 블록을 상기 글로벌 그리드 맵의 각 행 및 각 열의 규칙 영역 블록에 구축함으로써 글로벌 그리드 맵을 상기 맵 순회 블록으로 분할한다.
다른 실시예로서, 상기 단계 S3은, 글로벌 그리드 맵의 좌측 하부 모서리의 그리드 위치를 기준 원점으로 설정한 후 단계 32로 진입하는 단계 31; 상기 기준 원점으로부터 시작하여 기준 원점의 수평 좌표축의 매핑 좌표에 맵 순회 블록의 변 길이를 더하여 동일한 수평 좌표축 방향에서 인접한 맵 순회 블록의 수평 좌표축의 매핑 좌표를 계산 및 결정하는 동시에, 현재 맵 순회 블록의 수직 좌표축의 매핑 좌표와 기준 원점의 수직 좌표축의 좌표가 동일한 것으로 결정한 후 단계 33으로 진입하되, 상기 기준 원점은 글로벌 그리드 맵의 각 글로벌 좌표축에서 좌표값이 가장 작은 위치인 단계 32; 수평 좌표축 방향에서 매핑 좌표가 이미 결정된 맵 순회 블록의 개수가 글로벌 그리드 맵의 수평 좌표축 방향에서의 맵 순회 블록의 커버리지 수보다 작은지 여부를 판단하여, 작으면 단계 34로 진입하고, 그렇지 않으면 단계 35로 진입하는 단계 33; 현재 결정된 맵 순회 블록의 수평 좌표축의 매핑 좌표에 맵 순회 블록의 변 길이를 더하여 동일한 수평 좌표축 방향에서 인접한 맵 순회 블록의 수평 좌표축의 매핑 좌표를 계산 및 결정하는 동시에, 동일한 수평 좌표축 방향에서 인접한 맵 순회 블록의 수직 좌표축의 매핑 좌표와 현재 결정된 맵 순회 블록의 수직 좌표축의 매핑 좌표가 동일한 것으로 결정한 후, 단계 33으로 진입하여 동일한 수평 좌표축 방향에서의 커버리지 수의 제약 작용 하에서 각 맵 순회 블록의 동일한 수평 좌표축 방향의 매핑 좌표를 열별로 결정하는 단계 34; 현재 결정된 맵 순회 블록의 수직 좌표축의 매핑 좌표에 맵 순회 블록의 변 길이를 더하여 동일한 수직 좌표축 방향에서 인접한 맵 순회 블록의 수직 좌표축의 매핑 좌표를 계산 및 결정하는 동시에, 동일한 수직 좌표축 방향에서 인접한 맵 순회 블록의 수평 좌표축의 매핑 좌표와 현재 결정된 맵 순회 블록의 수평 좌표축의 매핑 좌표가 동일한 것으로 결정한 후, 단계 36으로 돌아가 동일한 수직 좌표축 방향에서의 커버리지 수의 제약 작용 하에서 각 맵 순회 블록의 동일한 수직 좌표축 방향의 매핑 좌표를 행별로 결정하는 단계 35; 및 수직 좌표축 방향에서 매핑 좌표가 이미 결정된 맵 순회 블록의 개수가 글로벌 그리드 맵의 수직 좌표축 방향에서의 맵 순회 블록의 커버리지 수보다 작은지 여부를 판단하여, 작으면 단계 33으로 돌아가고, 그렇지 않으면 이미 행별 및 열별로 계산된 상기 글로벌 그리드 맵 중 각 맵 순회 블록의 매핑 좌표를 결정함으로써, 상기 글로벌 그리드 맵의 각 행 및 각 열이 모두 상기 맵 순회 블록을 구축하여 상기 글로벌 그리드 맵의 블록화 처리를 완료하는 단계 36을 더 포함할 수 있다. 전술한 실시예와 비교하여, 본 실시예는 현재 행을 먼저 순회한 후 다음 행을 순회하고, 수직 좌표축 방향으로 분포된 모든 행의 맵 순회 블록을 순회할 때까지 계속하면, 여기에 언급된 좌표값 누적 단계는 전술한 실시예와 유사하므로 여기서 설명을 생략한다.
바람직한 예로서, 로봇이 순회한 그리드 포인트의 수직 좌표축의 좌표는 수직 좌표축에서 맵 순회 블록의 매핑 좌표 이상이고, 상기 맵 순회 블록의 수직 좌표축의 매핑 좌표와 상기 맵 순회 블록의 변 길이의 합에서 1을 감한 결과 이하이며, 로봇이 순회한 그리드 포인트의 수평 좌표축의 좌표는 맵 순회 블록의 수평 좌표축의 매핑 좌표 이상이고, 로봇이 순회한 그리드 포인트의 수직 좌표축의 좌표는 상기 맵 순회 블록의 수평 좌표축의 매핑 좌표와 상기 맵 순회 블록의 변 길이의 합에서 1을 감한 결과 이하인 경우, 로봇이 순회한 상기 그리드 포인트가 상기 맵 순회 블록 내에 위치하는 것으로 결정한다. 따라서, 상기 글로벌 그리드 맵의 하나의 그리드 위치 좌표(a, b)가 상기 순회 맵 블록 중 하나에 속하는지 여부를 판단하는 방법은, a가 X(i, j)보다 크거나 같고 또한 X(i, j)+e-1보다 작거나 같은 조건을 만족하는지 여부를 판단하는 단계; 동시에 b가 Y(i, j)보다 크거나 같고 또한 Y(i, j)+e-1보다 작거나 같은 조건을 만족하는지 여부를 판단하는 단계; 및 상기 그리드 위치 좌표(a, b)가 상기 두 판단 조건을 동시에 만족하면, 상기 그리드 위치 좌표(a, b)가 상기 맵 순회 블록 내에 위치하는 것으로 결정하는 단계를 포함한다. 따라서 청소 로봇이 상기 맵 순회 블록 내부의 어느 하나의 그리드를 순회한 경우, 대응되는 맵 순회 블록을 이미 순회된 맵 순회 블록으로 표기하도록 한다. 본 실시예에서 맵 순회 블록의 좌측 경계가 그 내부 영역에 포함되도록 정의하고, 맵 순회 블록의 우측 경계가 수평 좌표축 방향의 인접한 맵 순회 블록 내부 영역에 포함되도록 정의할 경우, 맵 순회 블록의 좌측 경계와 우측 경계 사이의 영역 및 맵 순회 블록의 좌측 경계는 모두 동일한 맵 순회 블록에 속하고, 내부에 포함된 그리드는 상기 맵 순회 블록을 구성하는 그리드에 속하며, 아울러 본 실시예에서 맵 순회 블록의 하측 경계가 그 내부 영역에 포함되도록 정의하고, 맵 순회 블록의 상측 경계가 수직 좌표축 방향의 인접한 맵 순회 블록의 내부 영역에 포함되도록 정의할 경우, 맵 순회 블록의 하측 경계와 상측 경계 사이의 영역 및 맵 순회 블록의 하측 경계는 모두 동일한 맵 순회 블록에 속하고, 내부에 포함된 그리드는 상기 맵 순회 블록을 구성하는 그리드에 속한다.
청소 로봇이 상기 기설정된 청소 방식으로 상기 맵 순회 블록 내부의 어느 하나의 그리드를 순회한 경우, 예를 들어 청소 로봇이 그리드 위치 좌표(a, b)를 순회하면, 대응되는 맵 순회 블록을 이미 순회된 맵 순회 블록으로 표기함으로써, 청소 로봇이 글로벌 작업 영역 내에서 이미 순회한 청소 경로가 이미 순회된 맵 순회 블록으로 구성되어 맵 순회 블록은 일일이 그리드를 표기하는 방식에 비해 더 넓은 경로 영역 범위를 기록한다. 이에 따라 동일한 구간 경로를 표시하는데 사용되는 표기 블록의 개수가 줄어들고, 청소 로봇에 대한 컴퓨팅 성능 및 저장 공간에 대한 요구가 낮아지며, 매핑 시간이 단축된다.
제어 프로그램이 내장된 칩으로서, 상기 제어 프로그램은 상기 맵 순회 블록의 구축 방법을 수행하여 이동 로봇이 실시간으로 구축한 글로벌 그리드 맵을 구획하는데 사용된다. 본 명세서에 설명된 실시예는 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 또는 이들의 임의의 조합에 의해 구현될 수 있음을 이해해야 한다. 하드웨어 구현 방식의 경우, 처리 유닛은 하나 또는 복수의 주문형 집적 회로(ASIC), 디지털 신호 프로세서(DSP), 디지털 신호 처리 소자(DSPD), 프로그램 가능 논리 소자(PLD), 필드 프로그램 가능 게이트 어레이(FPGA), 프로세서, 컨트롤러, 마이크로컨트롤러, 마이크로프로세서, 여기에 설명된 기능을 수행하도록 설계된 기타 전자 유닛, 또는 이들의 조합 내에서 구현된다. 실시예가 소프트웨어, 펌웨어, 미들웨어 또는 마이크로코드, 프로그램 코드 또는 코드 세그먼트로 구현될 때, 이들은 저장 컴포넌트와 같은 기계 판독 가능 매체에 저장될 수 있다.
이동 로봇으로서, 상기 이동 로봇에는 상술한 칩이 내장된다.
예를 들어, 흐름도에 표시되거나 다른 방식으로 여기에 설명된 로직 및/또는 단계는 논리적 기능을 구현하기 위한 실행 가능 명령의 정렬된 목록으로 간주될 수 있으며, 명령 실행 시스템, 장치 또는 기기(예를 들면, 컴퓨터 기반 시스템, 프로세서를 포함하는 시스템, 또는 명령 실행 시스템, 장치 또는 기기로부터 명령을 페치하고 실행할 수 있는 기타 시스템)가 사용하거나 이러한 명령 실행 시스템, 장치 또는 기기와 결합하여 사용하도록 임의의 컴퓨터 판독 가능 매체로 구현될 수 있다. 본 명세서의 경우, "컴퓨터 판독 가능 매체"는 명령 실행 시스템, 장치 또는 기기 또는 이러한 명령 실행 시스템, 장치 또는 기기와 결합하여 사용하기 위해 프로그램을 포함, 저장, 통신, 전파 또는 전송할 수 있는 임의의 장치일 수 있다. 컴퓨터 판독 가능 매체의 보다 구체적인 예(비제한적 목록)는 하나 또는 복수의 배선을 구비하는 전기적 연결부(전자 장치), 휴대용 컴퓨터 디스크 카트리지(자기 장치), 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 소거 및 프로그램 가능 판독 전용 메모리(EPROM 또는 플래시 메모리), 광섬유 장치 및 휴대용 컴팩트 디스크 판독 전용 메모리(CDROM)를 포함한다. 이 밖에, 컴퓨터 판독 가능 매체는 상기 프로그램이 인쇄될 수 있는 종이 또는 기타 적절한 매체일 수도 있다. 이는 예를 들어, 종이 또는 기타 매체를 광학적으로 스캔한 후 편집, 해석 또는 필요한 경우 기타 적절한 방식으로 처리하여 프로그램을 전자적으로 얻은 다음 컴퓨터 메모리에 저장할 수 있기 때문이다.
상술한 실시예들은 본 발명의 기술적 사상과 특징을 설명하기 위한 것으로, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 내용을 이해하고 실시할 수 있도록 하기 위한 것일 뿐 본 발명의 보호 범위를 한정하지 않는다. 본 발명의 사상에 따라 이루어진 모든 등가 변형 또는 수정은 본 발명의 보호 범위 내에 포함되어야 한다.

Claims (10)

  1. 글로벌 그리드 맵의 맵 순회 블록의 구축 방법으로서,
    글로벌 그리드 맵의 사이즈 크기에 따라 맵 순회 블록의 변 길이를 설정하는 단계 1;
    글로벌 그리드 맵의 사이즈 크기와 단계 1에서 결정된 맵 순회 블록의 변 길이의 비율 관계에 근거하여, 글로벌 그리드 맵의 각 글로벌 좌표축 방향에서의 맵 순회 블록의 커버리지 수를 계산하는 단계 2; 및
    단계 2에서 결정된 맵 순회 블록의 커버리지 수의 제약 작용에 따라 단계 1에서 결정된 맵 순회 블록의 변 길이에 대해 행별 및 열별 누적 동작을 수행함으로써, 각 맵 순회 블록의 매핑 좌표를 계산하여 맵 순회 블록이 상기 글로벌 그리드 맵의 각 행 및 각 열에 구축하는 단계 3; 을 포함하되,
    각 맵 순회 블록은 모두 매핑 좌표 및 변 길이에 따라 대응되는 그리드를 병합하여 형성되는 것을 특징으로 하는 맵 순회 블록의 구축 방법.
  2. 제1항에 있어서,
    상기 글로벌 그리드 맵의 각 행의 맵 순회 블록은 모두 수평 좌표축 방향으로 설치되고 수직 좌표축 방향의 투영은 겹치며, 상기 글로벌 그리드 맵의 각 열의 맵 순회 블록은 모두 수직 좌표축 방향으로 설치되고 수평 좌표축 방향의 투영은 겹치며;
    글로벌 좌표축 방향은 수직 좌표축 방향과 수평 좌표축 방향을 포함하는 것을 특징으로 하는 맵 순회 블록의 구축 방법.
  3. 제2항에 있어서,
    상기 단계 1은 구체적으로,
    하나의 표준 변 길이를 미리 설정한 후 단계 12로 진입하는 단계 11;
    상기 글로벌 그리드 맵의 길이와 너비가 모두 표준 변 길이의 2배보다 큰지 여부를 판단하여, 크면 상기 맵 순회 블록의 변 길이를 표준 변 길이로 설정하고, 그렇지 않으면 단계 13으로 진입하는 단계 12;
    상기 글로벌 그리드 맵의 길이와 너비가 모두 표준 변 길이보다 큰지 여부를 판단하여, 크면 상기 맵 순회 블록의 변 길이를 표준 변 길이의 1/2로 설정하고, 그렇지 않으면 단계 14로 진입하는 단계 13; 및
    상기 맵 순회 블록의 변 길이를 표준 변 길이의 1/4로 설정하는 단계 14; 를 포함하되,
    상기 글로벌 그리드 맵은 직사각형 맵 영역이고, 상기 맵 순회 블록은 정사각형인 것을 특징으로 하는 맵 순회 블록의 구축 방법.
  4. 제3항에 있어서,
    상기 단계 2는 구체적으로,
    상기 글로벌 그리드 맵의 유효 길이와 상기 맵 순회 블록의 변 길이의 비율을 계산한 다음 1을 더하여, 글로벌 그리드 맵의 수직 좌표축 방향에서의 맵 순회 블록의 커버리지 수를 획득하는 단계; 및
    상기 글로벌 그리드 맵의 유효 너비와 상기 맵 순회 블록의 변 길이의 비율을 계산한 다음 1을 더하여, 글로벌 그리드 맵의 수평 좌표축 방향으로 구축된 맵 순회 블록의 커버리지 수를 획득하는 단계; 를 포함하는 것을 특징으로 하는 맵 순회 블록의 구축 방법.
  5. 제4항에 있어서,
    상기 단계 3은 구체적으로,
    글로벌 그리드 맵의 좌측 하부 모서리의 그리드 위치를 기준 원점으로 설정한 후 단계 32로 진입하는 단계 31;
    상기 기준 원점으로부터 시작하여 기준 원점의 수직 좌표축의 좌표에 맵 순회 블록의 변 길이를 더하여, 현재 구축된 맵 순회 블록의 수직 좌표축의 매핑 좌표를 계산 및 결정하는 동시에, 현재 맵 순회 블록의 수평 좌표축의 매핑 좌표와 기준 원점의 수평 좌표축의 좌표가 동일한 것으로 결정한 후 단계 33으로 진입하되, 상기 기준 원점은 글로벌 그리드 맵의 각 글로벌 좌표축에서 좌표값이 가장 작은 위치인 단계 32;
    수직 좌표축 방향에서 매핑 좌표가 이미 결정된 맵 순회 블록의 개수가 글로벌 그리드 맵의 수직 좌표축 방향에서의 맵 순회 블록의 커버리지 수보다 작은지 여부를 판단하여, 작으면 단계 34로 진입하고, 그렇지 않으면 단계 35로 진입하는 단계 33;
    현재 결정된 맵 순회 블록의 수직 좌표축의 매핑 좌표에 맵 순회 블록의 변 길이를 더하여, 동일한 수직 좌표축 방향에서 인접한 맵 순회 블록의 수직 좌표축의 매핑 좌표를 계산 및 결정하는 동시에, 동일한 수직 좌표축 방향에서 인접한 맵 순회 블록의 수평 좌표축의 매핑 좌표와 현재 결정된 맵 순회 블록의 수평 좌표축의 매핑 좌표가 동일한 것으로 결정한 후, 단계 33으로 돌아가 동일한 수직 좌표축 방향에서의 커버리지 수의 제약 작용 하에서 각 맵 순회 블록의 동일한 수직 좌표축 방향의 매핑 좌표를 행별로 결정하는 단계 34;
    현재 결정된 맵 순회 블록의 수평 좌표축의 매핑 좌표에 맵 순회 블록의 변 길이를 더하여, 동일한 수평 좌표축 방향에서 인접한 맵 순회 블록의 수평 좌표축의 매핑 좌표를 계산 및 결정하는 동시에, 동일한 수평 좌표축 방향에서 인접한 맵 순회 블록의 수직 좌표축의 매핑 좌표와 현재 결정된 맵 순회 블록의 수직 좌표축의 매핑 좌표가 동일한 것으로 결정한 후, 단계 36으로 진입하여 동일한 수평 좌표축 방향에서의 커버리지 수의 제약 작용 하에서 각 맵 순회 블록의 동일한 수평 좌표축 방향의 매핑 좌표를 열별로 결정하는 단계 35; 및
    수평 좌표축 방향에서 매핑 좌표가 이미 결정된 맵 순회 블록의 개수가 글로벌 그리드 맵의 수평 좌표축 방향에서의 맵 순회 블록의 커버리지 수보다 작은지 여부를 판단하여, 작으면 단계 33으로 돌아가고, 그렇지 않으면 이미 행별 및 열별로 계산된 상기 글로벌 그리드 맵 중 각 맵 순회 블록의 매핑 좌표를 결정함으로써, 상기 글로벌 그리드 맵의 각 행 및 각 열이 모두 상기 맵 순회 블록을 구축하여 상기 글로벌 그리드 맵의 블록화 처리를 완료하는 단계 36; 을 포함하는 것을 특징으로 하는 맵 순회 블록의 구축 방법.
  6. 제4항에 있어서,
    상기 단계 3은 구체적으로,
    글로벌 그리드 맵의 좌측 하부 모서리의 그리드 위치를 기준 원점으로 설정한 후 단계 32로 진입하는 단계 31;
    상기 기준 원점으로부터 시작하여 기준 원점의 수평 좌표축의 매핑 좌표에 맵 순회 블록의 변 길이를 더하여, 동일한 수평 좌표축 방향에서 인접한 맵 순회 블록의 수평 좌표축의 매핑 좌표를 계산 및 결정하는 동시에, 현재 맵 순회 블록의 수직 좌표축의 매핑 좌표와 기준 원점의 수직 좌표축의 좌표가 동일한 것으로 결정한 후 단계 33으로 진입하되, 상기 기준 원점은 글로벌 그리드 맵의 각 글로벌 좌표축에서 좌표값이 가장 작은 위치인 단계 32;
    수평 좌표축 방향에서 매핑 좌표가 이미 결정된 맵 순회 블록의 개수가 글로벌 그리드 맵의 수평 좌표축 방향에서의 맵 순회 블록의 커버리지 수보다 작은지 여부를 판단하여, 작으면 단계 34로 진입하고, 그렇지 않으면 단계 35로 진입하는 단계 33;
    현재 결정된 맵 순회 블록의 수평 좌표축의 매핑 좌표에 맵 순회 블록의 변 길이를 더하여, 동일한 수평 좌표축 방향에서 인접한 맵 순회 블록의 수평 좌표축의 매핑 좌표를 계산 및 결정하는 동시에, 동일한 수평 좌표축 방향에서 인접한 맵 순회 블록의 수직 좌표축의 매핑 좌표와 현재 결정된 맵 순회 블록의 수직 좌표축의 매핑 좌표가 동일한 것으로 결정한 후, 단계 33으로 진입하여 동일한 수평 좌표축 방향에서의 커버리지 수의 제약 작용 하에서 각 맵 순회 블록의 동일한 수평 좌표축 방향의 매핑 좌표를 열별로 결정하는 단계 34;
    현재 결정된 맵 순회 블록의 수직 좌표축의 매핑 좌표에 맵 순회 블록의 변 길이를 더하여, 동일한 수직 좌표축 방향에서 인접한 맵 순회 블록의 수직 좌표축의 매핑 좌표를 계산 및 결정하는 동시에, 동일한 수직 좌표축 방향에서 인접한 맵 순회 블록의 수평 좌표축의 매핑 좌표와 현재 결정된 맵 순회 블록의 수평 좌표축의 매핑 좌표가 동일한 것으로 결정한 후, 단계 36으로 돌아가 동일한 수직 좌표축 방향에서의 커버리지 수의 제약 작용 하에서 각 맵 순회 블록의 동일한 수직 좌표축 방향의 매핑 좌표를 행별로 결정하는 단계 35; 및
    수직 좌표축 방향에서 매핑 좌표가 이미 결정된 맵 순회 블록의 개수가 글로벌 그리드 맵의 수직 좌표축 방향에서의 맵 순회 블록의 커버리지 수보다 작은지 여부를 판단하여, 작으면 단계 33으로 돌아가고, 그렇지 않으면 이미 행별 및 열별로 계산된 상기 글로벌 그리드 맵 중 각 맵 순회 블록의 매핑 좌표를 결정함으로써, 상기 글로벌 그리드 맵의 각 행 및 각 열이 모두 상기 맵 순회 블록을 구축하여 상기 글로벌 그리드 맵의 블록화 처리를 완료하는 단계 36; 을 포함하는 것을 특징으로 하는 맵 순회 블록의 구축 방법.
  7. 제5항 또는 제6항에 있어서,
    로봇이 순회한 그리드 포인트의 수직 좌표축의 좌표는 맵 순회 블록의 수직 좌표축의 매핑 좌표 이상이고, 상기 맵 순회 블록의 수직 좌표축의 매핑 좌표와 상기 맵 순회 블록의 변 길이의 합에서 1을 감한 결과 이하이며, 로봇이 순회한 그리드 포인트의 수평 좌표축의 좌표는 맵 순회 블록의 수평 좌표축의 매핑 좌표 이상이고, 로봇이 순회한 그리드 포인트의 수직 좌표축의 좌표는 상기 맵 순회 블록의 수평 좌표축의 매핑 좌표와 상기 맵 순회 블록의 변 길이의 합에서 1을 감한 결과 이하인 경우, 로봇이 순회한 상기 그리드 포인트가 상기 맵 순회 블록 내에 위치하는 것으로 결정하는 것을 특징으로 하는 맵 순회 블록의 구축 방법.
  8. 제7항에 있어서,
    청소 로봇이 상기 맵 순회 블록 내부의 어느 하나의 그리드를 순회한 경우, 대응되는 맵 순회 블록을 이미 순회된 맵 순회 블록으로 표기하는 것을 특징으로 하는 맵 순회 블록의 구축 방법.
  9. 제어 프로그램이 내장된 칩으로서,
    상기 제어 프로그램은 제1항 내지 제8항 중 어느 한 항에 따른 맵 순회 블록의 구축 방법을 수행하여, 이동 로봇이 실시간으로 구축한 글로벌 그리드 맵을 구획하는데 사용되는 것을 특징으로 하는 칩.
  10. 이동 로봇으로서,
    제9항에 따른 칩이 내장된 것을 특징으로 하는 이동 로봇.
KR1020227021976A 2020-05-26 2020-11-24 글로벌 그리드 맵의 맵 순회 블록의 구축 방법, 칩 및 이동 로봇 KR20220106810A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202010456789.7 2020-05-26
CN202010456789.7A CN111631639B (zh) 2020-05-26 2020-05-26 全局栅格地图的地图遍历块建立方法、芯片及移动机器人
PCT/CN2020/131197 WO2021238115A1 (zh) 2020-05-26 2020-11-24 全局栅格地图的地图遍历块建立方法、芯片及移动机器人

Publications (1)

Publication Number Publication Date
KR20220106810A true KR20220106810A (ko) 2022-07-29

Family

ID=72323589

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227021976A KR20220106810A (ko) 2020-05-26 2020-11-24 글로벌 그리드 맵의 맵 순회 블록의 구축 방법, 칩 및 이동 로봇

Country Status (6)

Country Link
US (1) US20230337880A1 (ko)
EP (1) EP4075305A4 (ko)
JP (1) JP2023508662A (ko)
KR (1) KR20220106810A (ko)
CN (1) CN111631639B (ko)
WO (1) WO2021238115A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111631639B (zh) * 2020-05-26 2021-07-06 珠海市一微半导体有限公司 全局栅格地图的地图遍历块建立方法、芯片及移动机器人
CN112650250A (zh) * 2020-12-23 2021-04-13 深圳市杉川机器人有限公司 一种地图构建方法及机器人
CN113834494A (zh) * 2021-10-15 2021-12-24 珠海一微半导体股份有限公司 一种基于模板覆盖的栅格地图处理方法及芯片
CN114637698B (zh) * 2022-05-18 2022-09-02 深圳市倍思科技有限公司 机器人的地图内存分配方法、装置、机器人及存储介质

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070262988A1 (en) * 2006-05-09 2007-11-15 Pixar Animation Studios Method and apparatus for using voxel mip maps and brick maps as geometric primitives in image rendering process
CN103472823B (zh) * 2013-08-20 2015-11-18 苏州两江科技有限公司 一种智能机器人用的栅格地图创建方法
CN105043396B (zh) * 2015-08-14 2018-02-02 北京进化者机器人科技有限公司 一种移动机器人室内自建地图的方法和系统
CN106407408B (zh) * 2016-09-22 2019-08-16 北京数字绿土科技有限公司 一种海量点云数据的空间索引构建方法及装置
CN107016924B (zh) * 2016-12-20 2020-04-07 阿里巴巴集团控股有限公司 虚拟地图中的瓦片地图生成方法、更新方法和装置
CN107316308A (zh) * 2017-06-27 2017-11-03 苏州大学 一种基于改进的多路谱聚类算法的清洁机器人地图分割方法
CN107862048B (zh) * 2017-11-08 2021-05-18 四川易利数字城市科技有限公司 基于四叉树分层网格的地图缓存切片分布式集群管理方法
CN107837044B (zh) * 2017-11-17 2021-01-08 北京奇虎科技有限公司 清洁机器人的分区清洁方法、装置及机器人
CN107898393B (zh) * 2017-11-17 2020-12-04 北京奇虎科技有限公司 用于清洁机器人的区块调整方法、装置及机器人
CN108319655B (zh) * 2017-12-29 2021-05-07 百度在线网络技术(北京)有限公司 用于生成栅格地图的方法和装置
CN108896048A (zh) * 2018-06-01 2018-11-27 浙江亚特电器有限公司 用于移动载具的路径规划方法
CN108955696B (zh) * 2018-09-30 2020-07-03 江苏美的清洁电器股份有限公司 扫地机及其路径规划方法和装置
CN111166234A (zh) * 2018-11-09 2020-05-19 北京奇虎科技有限公司 工作区域的分区方法、装置、设备及存储介质
CN109557919B (zh) * 2018-12-17 2020-08-14 盐城工学院 一种融合人工路标信息的可变宽栅格地图构建方法
CN110361017B (zh) * 2019-07-19 2022-02-11 西南科技大学 一种基于栅格法的扫地机器人全遍历路径规划方法
CN111026109A (zh) * 2019-11-18 2020-04-17 杭州晶一智能科技有限公司 室外割草机器人基于gps和在线地图的遍历路径规划方法
CN111631639B (zh) * 2020-05-26 2021-07-06 珠海市一微半导体有限公司 全局栅格地图的地图遍历块建立方法、芯片及移动机器人

Also Published As

Publication number Publication date
EP4075305A4 (en) 2023-06-21
JP2023508662A (ja) 2023-03-03
EP4075305A1 (en) 2022-10-19
US20230337880A1 (en) 2023-10-26
WO2021238115A1 (zh) 2021-12-02
CN111631639A (zh) 2020-09-08
CN111631639B (zh) 2021-07-06

Similar Documents

Publication Publication Date Title
KR20220106810A (ko) 글로벌 그리드 맵의 맵 순회 블록의 구축 방법, 칩 및 이동 로봇
CN111580525B (zh) 沿边行走中返回起点的判断方法、芯片及视觉机器人
JP7462244B2 (ja) ロボットの縁沿い走行中の清掃区画領域の計画方法、チップ及びロボット
US11131996B2 (en) Area partitioning method, partition cleaning method and robot thereof
CN111596662B (zh) 一种沿全局工作区域一圈的判断方法、芯片及视觉机器人
CN107773164B (zh) 用于清洁机器人的清洁方法、装置及机器人
WO2018121448A1 (zh) 移动机器人的拓扑地图创建方法、导航方法、可编程设备及计算机可读介质
CN112161629B (zh) 清洁机器人的路径规划方法、装置、清洁机器人及介质
CN111256722B (zh) 一种路径规划方法、装置、设备和存储介质
CN108665117B (zh) 一种室内空间最短路径的计算方法、装置、终端设备以及存储介质
CN109363585A (zh) 分区遍历方法、清扫方法及其扫地机器人
CN102542035A (zh) 基于扫描线法的多边形栅格化并行转换方法
CN112017134B (zh) 一种路径规划方法、装置、设备及存储介质
JP2022528593A (ja) 壁面研磨経路計画方法、装置、機器及び媒体
CN111728535B (zh) 一种生成清扫路径的方法、装置、电子设备及存储介质
CN104615138A (zh) 一种划分移动机器人室内区域动态覆盖方法及其装置
CN109974699B (zh) 一种机器人及其地图自主探索方法和装置
CN110858075A (zh) 一种移动机器人跨区域方法、装置、调度系统
CN114764239B (zh) 清扫机器人控制方法、装置、计算机设备及存储介质
CN112308969B (zh) 三维地图生成方法及装置
CN115014328A (zh) 一种栅格地图的动态加载方法、装置、设备和介质
CN113589841B (zh) 无人机航线生成方法、无人机及计算机可读存储介质
CN111310261B (zh) 内墙饰面砖模型生成方法、装置、计算机设备和存储介质
CN113793352B (zh) 基于等高线的单层轮廓图案的激光填充方法及装置
CN113158280B (zh) 屋面主体结构生成方法、装置、计算机设备和存储介质