KR102170928B1 - 로봇의 장애물 회피 제어 시스템, 방법, 로봇 및 저장매체 - Google Patents

로봇의 장애물 회피 제어 시스템, 방법, 로봇 및 저장매체 Download PDF

Info

Publication number
KR102170928B1
KR102170928B1 KR1020187018065A KR20187018065A KR102170928B1 KR 102170928 B1 KR102170928 B1 KR 102170928B1 KR 1020187018065 A KR1020187018065 A KR 1020187018065A KR 20187018065 A KR20187018065 A KR 20187018065A KR 102170928 B1 KR102170928 B1 KR 102170928B1
Authority
KR
South Korea
Prior art keywords
robot
obstacle
model
distance
area
Prior art date
Application number
KR1020187018065A
Other languages
English (en)
Other versions
KR20190022435A (ko
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 KR20190022435A publication Critical patent/KR20190022435A/ko
Application granted granted Critical
Publication of KR102170928B1 publication Critical patent/KR102170928B1/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/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • B25J9/1666Avoiding collision or forbidden zones
    • 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
    • G05D1/0214Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1674Programme controls characterised by safety, monitoring, diagnostic
    • B25J9/1676Avoiding collision or forbidden zones
    • 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/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • 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/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • 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/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0242Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using non-visible light signals, e.g. IR or UV signals
    • 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/0255Control of position or course in two dimensions specially adapted to land vehicles using acoustic signals, e.g. ultra-sonic singals
    • 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/08Control of attitude, i.e. control of roll, pitch, or yaw
    • G05D1/0891Control of attitude, i.e. control of roll, pitch, or yaw specially adapted for land vehicles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Electromagnetism (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Computer Graphics (AREA)
  • Acoustics & Sound (AREA)
  • Manipulator (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

본 발명은 로봇의 장애물 회피 제어 시스템, 방법, 로봇 및 저장매체를 개시하고, 이 방법은 로봇의 현재 포지셔닝 데이터를 획득하고 현재 포지셔닝 데이터와 미리 결정된 이동 영역에서의 각 장애물의 위치 데이터에 따라 현재 포지셔닝 위치로부터 목표 위치까지의 경로에 미리 설정된 거리보다 짧은 현재 포지셔닝 위치로부터 떨어지는 거리를 가지는 장애물의 유무를 결정하며, 미리 설정된 거리보다 짧은 현재 포지셔닝 위치로부터 떨어지는 거리를 가지는 장애물이 있으면 획득한 포지셔닝 데이터, 미리 결정된 로봇의 3D모델 및 미리 결정된 이 장애물의 3D모델에 따라 로봇과 이 장애물의 최소 거리를 계산하며, 획득한 포지셔닝 데이터, 계산된 최소 거리 및 이 장애물의 3D모델에 따라 현재 로봇이 운동하여야 할 방향을 계산하고 계산된 운동방향에 따라 로봇의 운동자세를 제어하여 장애물을 피하도록 한다. 본 발명은 로봇의 장애물 회피를 유효적으로 제어할 수 있다.

Description

로봇의 장애물 회피 제어 시스템, 방법, 로봇 및 저장매체
본 발명은 컴퓨터 기술 분야에 관한 것으로, 특히 로봇의 장애물 회피 제어 시스템,방법, 로봇 및 저장매체에 관한 것이다.
현재, 자율 이동 로봇은 많은 장소에서 사용될 수 있는데, 예를 들어 전시관의 가이드 업무를 맡고 참관자를 하나의 전시영역에서 다른 전시영역으로 안내하며, 식당에서 서비스를 제공하고 자발적으로 손님을 맞고 빈자리로 안내하여 주문을 받으며, 공공장소에서 안내, 순찰 업무를하고 프로그램이 설정한 노선을 따라 이동하고 사람이 도움을 필요할 때 멈추고 질문에 응답하는 것 등과 같다. 중요한 기술문제는 이런 장소에서 어떻게 운동 중인 로봇이 장애물과 충돌하는 것을 방지하는가 하는 문제이다. 현재, 자율 이동 로봇은 자신의 센서에 의해 포지셔닝 및 장애물회피를 하였으나 본 영역의 일반적인 장애물회피 방안은 로봇에 근접 센서(예를 들어, 초음파, 적외선, 레이저 등 센서와 같다)가 설치되고, 로봇이 장애물로부터 일정 거리(예를 들어, 10cm)를 검출하면 장애물회피를 한다.
기존의 장애물회피 방안은 하기와 같은 단점을 가지고 있다. 첫째, 센서의 높이 평면에서만 장애물을 검출할 수 있고 네다리 테이블 등의 경우 센서의 높이가 30cm이고 테이블 탑의 높이가 60cm이면 센서가 장애물을 검출할 수 없음에 따라 최종 로봇이 테이블 탑에 충돌하게 되며, 둘째, 센서가 설치된 방향에서만 장애물을 검출할 수 있고, 로봇의 뒤측에 센서가 설치되지 않으면 후퇴 시 장애물에 충돌할 가능성이 높다.
따라서, 해결해야 할 기술 문제는 센서가 전면적으로 검출할 수 없는 경우, 어떻게 로봇을 효과적으로 제어하여 장애물을 피하는가 하는 문제이다.
본 발명의 주된 목적은 로봇의 장애물 회피를 효율적으로 제어하기 위해, 로봇의 장애물 회피 제어 시스템,방법, 로봇 및 저장매체를 제공하고자 한다.
상기 목적을 달성하기 위해, 본 발명은 첫번째 방면에 있어서 로봇의 장애물 회피 제어 시스템을 개시하고 상기 장애물 회피 제어 시스템은 하기와 같은 모듈을 포함한다.
결정모듈, 실시간 또는 정해진 시간으로 로봇의 현재 포지셔닝 데이터를 획득하고 현재 포지셔닝 데이터와 미리 결정된 이동 영역에서의 각 장애물의 위치 데이터에 따라 현재 포지셔닝 위치로부터 목표 위치까지의 경로에 미리 설정된 거리보다 짧은 현재 포지셔닝 위치로부터 떨어지는 거리를 가지는 장애물의 유무를 결정한다.
계산모듈, 미리 설정된 거리보다 짧은 현재 포지셔닝 위치로부터 떨어지는 거리를 가지는 장애물이 있으면 획득한 포지셔닝 위치, 미리 결정된 로봇의 3D모델 및 미리 결정된 이 장애물의 3D모델에 따라 로봇과 이 장애물의 최소 거리를 계산한다.
제어모듈, 획득한 포지셔닝 데이터, 계산된 최소 거리 및 이 장애물의 3D모델에 따라 현재 로봇이 운동하여야 할 방향을 계산하고 계산된 운동방향에 따라 로봇의 운동자세를 제어하여 장애물을 피하도록 한다.
본 발명은 두번째 방면에 있어서 로봇의 장애물 회피 방법을 개시하고 상기 방법은 하기와 같은 단계를 포함한다.
A1. 실시간 또는 정해진 시간으로 로봇의 현재 포지셔닝 데이터를 획득하고 현재 포지셔닝 데이터와 미리 결정된 이동 영역에서의 각 장애물의 위치 데이터에 따라 현재 포지셔닝 위치로부터 목표 위치까지의 경로에 미리 설정된 거리보다 짧은 현재 포지셔닝 위치로부터 떨어지는 거리를 가지는 장애물의 유무를 결정한다.
A2. 미리 설정된 거리보다 짧은 현재 포지셔닝 위치로부터 떨어지는 거리를 가지는 장애물이 있으면 획득한 포지셔닝 위치, 미리 결정된 로봇의 3D모델 및 미리 결정된 이 장애물의 3D모델에 따라 로봇과 이 장애물의 최소 거리를 계산한다.
A3. 획득한 포지셔닝 데이터, 계산된 최소 거리 및 이 장애물의 3D모델에 따라 현재 로봇이 운동하여야 할 방향을 계산하고 계산된 운동방향에 따라 로봇의 운동자세를 제어하여 장애물을 피하도록 한다.
본 발명은 셋번째 방면에 있어서 프로세서와 메모리를 포함하는 로봇을 개시하고 상기 메모리에는 로봇의 장애물 회피 제어 시스템이 저장되고, 이 로봇의 장애물 회피 제어 시스템은 프로세서에 의해 하기와 같은 단계를 실행한다.
A1. 실시간 또는 정해진 시간으로 로봇의 현재 포지셔닝 데이터를 획득하고 현재 포지셔닝 데이터와 미리 결정된 이동 영역에서의 각 장애물의 위치 데이터에 따라 현재 포지셔닝 위치로부터 목표 위치까지의 경로에 미리 설정된 거리보다 짧은 현재 포지셔닝 위치로부터 떨어지는 거리를 가지는 장애물의 유무를 결정한다.
A2. 미리 설정된 거리보다 짧은 현재 포지셔닝 위치로부터 떨어지는 거리를 가지는 장애물이 있으면 획득한 포지셔닝 위치, 미리 결정된 로봇의 3D모델 및 미리 결정된 이 장애물의 3D모델에 따라 로봇과 이 장애물의 최소 거리를 계산한다.
A3. 획득한 포지셔닝 데이터, 계산된 최소 거리 및 이 장애물의 3D모델에 따라 현재 로봇이 운동하여야 할 방향을 계산하고 계산된 운동방향에 따라 로봇의 운동자세를 제어하여 장애물을 피하도록 한다.
본 발명은 넷번째 방면에 있어서 컴퓨터 판독 가능한 저장매체를 개시하고 상기 컴퓨터 판독 가능한 저장매체에는 로봇의 장애물 회피 제어 시스템이 저장되고, 이 로봇의 장애물 회피 제어 시스템은 적어도 하나의 프로세서에 의해 하기와 같은 단계를 실행한다.
A1. 실시간 또는 정해진 시간으로 로봇의 현재 포지셔닝 데이터를 획득하고 현재 포지셔닝 데이터와 미리 결정된 이동 영역에서의 각 장애물의 위치 데이터에 따라 현재 포지셔닝 위치로부터 목표 위치까지의 경로에 미리 설정된 거리보다 짧은 현재 포지셔닝 위치로부터 떨어지는 거리를 가지는 장애물의 유무를 결정한다.
A2. 미리 설정된 거리보다 짧은 현재 포지셔닝 위치로부터 떨어지는 거리를 가지는 장애물이 있으면 획득한 포지셔닝 위치, 미리 결정된 로봇의 3D모델 및 미리 결정된 이 장애물의 3D모델에 따라 로봇과 이 장애물의 최소 거리를 계산한다.
A3. 획득한 포지셔닝 데이터, 계산된 최소 거리 및 이 장애물의 3D모델에 따라 현재 로봇이 운동하여야 할 방향을 계산하고 계산된 운동방향에 따라 로봇의 운동자세를 제어하여 장애물을 피하도록 한다.
본 발명은 로봇의 장애물 회피 제어 시스템, 방법, 로봇 및 저장매체를 개시하며, 로봇의 현재 포지셔닝 데이터에 따라 미리 설정된 거리보다 짧은 현재 포지셔닝 위치로부터 떨어지는 거리를 가지는 장애물이 있는 것을 검출되면, 로봇의 현재 포지셔닝 위치, 미리 결정된 로봇의 3D모델 및 미리 결정된 이 장애물의 3D모델에 따라 3차원 공간에서 로봇과 이 장애물의 최소 거리를 계산하며, 로봇의 현재 운동하여야 할 방향을 계산하여 로봇의 운동자세를 제어한다. 로봇과 장애물이 3차원 공간에서의 최소거리에 의해 로봇의 운동방향을 제어할 수 있음으로써 로봇이 3차원 공간 중 각 방향의 장애물을 검출하여 피하여 로봇의 장애물 회피를 효율적으로 제어한다.
도1은 본 발명에 따른 로봇의 장애물 회피 방법의 일 실시예의 흐름도이다.
도2a는 본 발명에 따른 로봇의 장애물 회피 방법의 일 실시예에서 장애물 3D 모델이 선형 평균화되는 도면이다.
도2b는 본 발명에 따른 로봇의 장애물 회피 방법의 일 실시예에서 부호K의 선형모델의 부분 도면이다.
도3a은 본 발명에 따른 로봇의 장애물 회피 방법의 일 실시예에서 로봇과 장애물의 3D 모델 도면이다.
도3b은 본 발명에 따른 로봇의 장애물 회피 방법의 일 실시예에서 입방체 장애물에 대해 선형 평균화를 하는 도면이다.
도3c는 본 발명에 따른 로봇의 장애물 회피 방법의 일 실시예에서 모델을 부분적으로 선별하는 도면이다.
도3d는 본 발명에 따른 로봇의 장애물 회피 방법의 일 실시예에서 최소 거리 벡터를 계산하는 도면이다.
도4는 본 발명에 따른 로봇의 장애물 회피 방법의 일 실시예에서 유효 차폐 영역을 결정하는 도면이다.
도5는 본 발명에 따른 장애물 회피 제어 시스템(10)의 바람직한 실시예의 실행 환경의 도면이다.
도6은 본 발명에 따른 장애물 회피 제어 시스템(10)의 바람직한 실시예의 기능모듈의 도면이다.
본 발명의 목적 실현, 기능 특징 및 장점에 대해 실시예를 통해 도면을 참조하여 설명하기로 한다.
본 발명이 해결하고자 하는 기술문제, 기술방안, 유익 효과를 더 명확하고 뚜렷하게 되기 위해, 하기와 같은 도면과 실시예를 통해 본 발명에 대해 한층더 상세하게 설명하기로 한다. 여기서에서 설명하는 구체적인 실시예는 본 발명을 예시적으로 설명하기 위한 것일 뿐 본 발명을 한정하기 위한 것이 아니다.
본 발명은 로봇의 장애물 회피 방법을 개시한다.
도1을 참조하면 도1은 본 발명에 따른 로봇의 장애물 회피 방법의 일 실시예의 흐름도이다.
일 실시예에 있어서, 상기 로봇의 장애물 회피 방법은 하기와 같은 단계를 포함한다.
단계S10, 로봇의 장애물 회피 제어 시스템은 실시간 또는 정해진 시간(예를 들어, 2초마다)으로 로봇의 현재 포지셔닝 데이터(예를 들어, 실내에서의 위치, 자세 등)를 획득하고 현재 포지셔닝 데이터와 미리 결정된 이동 영역에서의 각 장애물의 위치 데이터에 따라 현재 포지셔닝 위치로부터 목표 위치까지의 경로에 미리 설정된 거리보다 짧은 현재 포지셔닝 위치로부터 떨어지는 거리를 가지는 장애물의 유무를 결정한다. 예를 들어, 로봇 자신의 센서에 의해 미리 결 정된 이동 영역 내의 각 장애물로부터 떨어지는 거리를 포지셔닝하여 판단할 수 있으며, 예를 들어, 로봇에 접근 센서(예를 들어, 초음파, 적외선, 레이저 등의 센서)가 설치되어 로봇의 현재 위치로부터 목표 위치까지의 경로에 미리 설정된 거리보다 짧은 현재 포지셔닝 위치로부터 떨어지는 거리를 가지는 장애물의 유무를 결정한다.
단계S20, 미리 설정된 거리보다 짧은 현재 포지셔닝 위치로부터 떨어지는 거리를 가지는 장애물이 있으면 획득한 포지셔닝 위치, 미리 결정된 로봇의 3D모델 및 미리 결정된 이 장애물의 3D모델에 따라 로봇과 이 장애물의 최소 거리를 계산한다.
로봇의 현재 포지셔닝 위치로부터 미리 결정된 이동 영역 내의 각 장애물까지의 거리가 검출된 후, 미리 설정된 거리보다 짧은 현재 포지셔닝 위치로부터 떨어지는 거리를 가지는 장애물이 없다고 판단되면, 목표 위치 경로를 따라 계속 이동하고 실시간 또는 정해진 시간으로 로봇과 이동 영역 내의 각 장애물의 거리를 검출한다. 미리 설정된 거리보다 짧은 현재 포지셔닝 위치로부터 떨어지는 거리를 가지는 장애물이 있다고 판단되면, 획득한 포지셔닝 위치, 미리 결정된 로봇의 3D모델 및 미리 결정된 이 장애물의 3D모델에 따라 목표 위치 경로를 따라 로봇과 이 장애물의 최소 거리를 계산하여, 이 최소 거리를 이용하여 로봇이 3차원 공간에서 목표 위치의 경로를 따라 이동할 때 이 장애물에 충돌하는지를 판단하여 로봇의 센서의 높이 평면에서만 장애물을 검출할 수 있을 뿐만 아니라 3차원 공간 중 잠재적인 장애물을 검출할 수 있어 로봇의 센서가 설치된 방향과 로봇의 센서가 설치되지 않은 다른 방향에서 3차원 공간 중 각 방향의 잠재적인 장애물을 모두 검출할 수 있다. 그 중, 상기 미리 결정된 로봇의 3D 모델과 이동 영역 내의 각 장애물의 3D 모델은 로봇의 저장 유닛에 미리 저장될 수 있거나 로봇이 무선통신유닛을 통해 사물 인터넷 시스템 서버에 접근하여 획득할 수도 있으며, 여기서 한정하지 않는다.
단계S30, 획득한 포지셔닝 데이터, 계산된 최소 거리 및 이 장애물의 3D모델에 따라 현재 로봇이 운동하여야 할 방향을 계산하고 계산된 운동방향에 따라 로봇의 운동자세를 제어하여 3차원 공간 중 각 방향의 잠재적인 장애물을 피하여 로봇이 목표 위치 경로를 따라 이동할 때 장애물을 피하는 것을 효율적으로 제어되도록 한다.
본 실시예는 로봇의 현재 포지셔닝 데이터에 따라 미리 설정된 거리보다 짧은 현재 포지셔닝 위치로부터 떨어지는 거리를 가지는 장애물이 있는 것을 검출되면, 로봇의 현재 포지셔닝 위치, 미리 결정된 로봇의 3D모델 및 미리 결정된 이 장애물의 3D모델에 따라 3차원 공간에서 로봇과 이 장애물의 최소 거리를 계산하며, 로봇의 현재 운동하여야 할 방향을 계산하여 로봇의 운동자세를 제어한다. 로봇과 장애물이 3차원 공간에서의 최소거리에 의해 로봇의 운동방향을 제어할 수 있음으로써 로봇이 3차원 공간 중 각 방향의 장애물을 검출하여 피하여 로봇의 장애물 회피를 효율적으로 제어한다.
또한, 상기 단계S20은 하기와 같은 단계를 포함한다.
단계S201, 미리 결정된 로봇의 3D 모델과 이 장애물의 3D 모델을 전처리한다.
단계S202, 획득한 포지셔닝 데이터, 전처리된 로봇 3D 모델 데이터 및 전처리된 장애물 3D 모델 데이터에 대해, 미리 결정된 거리 계산 규칙에 의해 로봇과 장애물의 최소 거리를 계산한다.
예를 들어, 로봇과 장애물이 비 볼록체이기 때문에 로봇과 장애물의 3D 모델을 볼록체로 변화하는 것과 같이 전처리할 수 있어 후속으로 보다 신속하고 정확하게 최소 거리를 계산한다.
또한, 상기 단계S201에서의 로봇 3D 모델의 전처리는 하기와 같은 단계를 포함한다. 로봇의 각 관절에 대해, 직접적으로 미리 결정된 알고리즘(예를 들어, QuickHull 급속 볼록 선체 알고리즘)을 이용하여 각 관절을 둘러싸는 최소의 볼록 다면체를 찾아 로봇의 비 볼록 모델을 볼록 모델로 변환한다. 상기 볼록 처리된 로봇 3D 모델을 통해 후속으로 최소 거리벡터를 계산할 때 계산 속도와 계산 정확도를 효율적으로 향상시킬 수 있다.
장애물 3D 모델을 전처리하는 방식은 3종을 포함한다. 첫 번째, 비 볼록 다면체의 볼록 바운딩 박스를 구축하여 볼록체로 변환되어 충돌 테스트를 하며, 두 번째, 비 볼록 다면체에 대해 볼록 분해를 하여 비 볼록 모델을 다수의 볼록체로 변환하여 충돌 테스트를 하며, 셋 번째, 장애물 3D 모델에 대해 선형 평균화(즉, 선형분할)하고 평균화된 단일의 선형에 대해 볼록 분해를 하는데 이런 먼저 선형 평균화하고 볼록 분해를 하는 방식은 첫 번째와 두 번째의 방식에 대하여 계산속도가 더 신속하고 계산 정확도가 더 높다.
또한, 상기 장애물 3D 모델에 대해 선형 평균화하는 단계는 하기와 같은 단계를 포함한다.
선형 평균화할 장애물 3D 모델의 구형 바운딩 박스를 구축하고 구형 바운딩 박스의 구심을 찾는다.
상기 구심을 거치는 초기 선형 평균화 평면을 설정하고 초기 선형 평균화 평면을 미리 설정된 회전각에 따라 상기 구심을 둘러싸고 여러 차례 회전하여 구형 바운딩 박스를 n개의 선형부분으로 평균으로 분할하며, 이 구형 바운딩 박스의 n개의 선형부분은 장애물 3D 모델의 선형부분으로 한다.
예를 들어, 일 구체적인 실시 방식은 하기와 같은 단계를 포함할 수 있다.
X1,선형 평균화할 장애물 3D 모델 (M)의 구형 바운딩 박스(B)를 구축하고 구형 바운딩 박스(B)의 구심(O)을 찾고 구심(O)에서 3차원 좌표계를 구축한다.
X2, 구심(O)을 거쳐 3차원 좌표계(Oxyz) 중 z 축과 중합된 직선(L)를 하면 xoz평면이 초기 선형 평균화 평면이고 xoz평면이
Figure 112018062343180-pct00001
인 것을 가정하면
Figure 112018062343180-pct00002
는 장애물 3D 모델을 2부분으로 분할한다.
X3,
Figure 112018062343180-pct00003
은 직선(L)을 둘러싸고 일정 각도(
Figure 112018062343180-pct00004
)(
Figure 112018062343180-pct00005
는 인접 선형편각이다)를 선택하여 또 다른 새로운 평면(
Figure 112018062343180-pct00006
)를 획득하고 새로운 평면을
Figure 112018062343180-pct00007
에 따라 계속적으로 회전하면 평면(
Figure 112018062343180-pct00008
)을 획득하고, m-1회를 회전하면 m 번째의 평면(
Figure 112018062343180-pct00009
)을 획득한다.
X4,
Figure 112018062343180-pct00010
를 가정하면 m개의 평면은 구형 볼록 바운딩 박스(B)를 2m 부분으로 평균화할 수 있고 장애물 3D 모델을 2m개의 모델로 분할한다. 상기 단계를 통해 비 볼록 모델도 포함하는 임의의 모델에 대해 간단하게 분할하며 해시 테이블을 통해 분할된 모델 부분을 관리할 수 있다.
또한, 상기 평균화된 단일의 선형에 대해 볼록 분해는 하기와 같은 단계를 포함한다.
Delaunay 삼각분할 알고리즘에 의해 장애물3D 모델에 대해 표면 삼각분할을 하고 삼각형 패치(볼록편)집합을 생성하며, 각 삼각형 패치에 대해 이와 대응되는 볼록 블록을 구축한다. 예를 들어, 두께가 0인 삼각형 패치를 이의 평면 법벡터 방향으로 미리 설정된 두께대로 신장하여 볼록 블록으로 된다.
또한, 상기 미리결정된 거리 계산 규칙은 하기와 같은 단계를 포함한다.
로봇의 현재 포지셔닝 데이터(예를 들어, 실내 위치, 자세 등)와 미리 결정된 선별 알고리즘에 따라 장애물 3D 모델을 선형 평균화한 후 획득한 각 모델에 대해 부분적으로 선별하고 거리 계산할 모델 부분을 선별한다.
획득한 포지셔닝 데이터, 선별된 모델 부분에 대해, 미리 결정된 거리계산 알고리즘(예를 들어, GJK 알고리즘)에 의해 로봇과 선별된 모듈 부분의 최소 거리를 계산하며 이 최소 거리는 로봇과 장애물 3D 모델의 최소 거리이다.
또한, 도2a, 2b에 도시된 바와 같이, 도2a는 본 발명에 따른 로봇의 장애물 회피 방법의 일 실시예에서 장애물 3D 모델이 선형 평균화되는 도면이다. 도2b는 본 발명에 따른 로봇의 장애물 회피 방법의 일 실시예에서 부호K의 선형모델의 부분 도면이다. 상기 미리 결정된 선별 알고리즘은 하기와 같은 단계를 포함한다.
Y1. 장애물 3D 모델을 선형 평균화한 후 획득한 n개의 모델 부분을 각각 장애물의 n개의 노드로 하여 key-value키값이 각각 초기 선형 평균화 평면(즉, xoz평면)의 회전각, 즉, 편각과 모델 기하학적 정보 데이터에 대한 해시 테이블을 구축하여, 모델 노드 관리를 한다.
Y2. 선형 평균화한 후 획득한 각 모델 부분에 부호를 부여하고, 1로부터 부호를 부여하며, 평균화된 n개의 선형 모델 부분은 인접한 선형의 편각이
Figure 112018062343180-pct00011
이고, 부호에 따라 초기 부호가 i인 선형 모델 부분과의 편각 맵핑관계를 구축하고 상기 편각 맵핑관계를 표시하는 해시 함수는
Figure 112018062343180-pct00012
이다.
그 중, i는 부호가 i인 선형 모델 부분이고
Figure 112018062343180-pct00013
는 부호가 i인 선형 모델 부분과 장애물 좌표계의 X축 정축의 편각이다.
Y3. 로봇의 운동학을 구축하고, 구축한 운동학에 따라 로봇 각 관절의 자세를 계산하며, 구축한 해시 테이블에서 로봇 근처의 장애물 선형영역을 조회한다. 하기 도2에 도시된 바와 같이, 로봇이 운동과정 중에서 로봇운동학을 통해, 운동학 방정은
Figure 112018062343180-pct00014
이다.
그 중,
Figure 112018062343180-pct00015
(k=1,2,...,i)는 로봇 관절좌표계 사이의 동차변환행렬(로봇 각 관절의 D-H 파라미터에 의해 결정)이고,
Figure 112018062343180-pct00016
는 로봇의 현재 위치 행렬(로봇의 현재 포지셔닝 데이터와 대응)이고
Figure 112018062343180-pct00017
는 i 번째 관절이 로봇 좌표계에 대한 자세이다.
Figure 112018062343180-pct00018
계산을 통해 로봇 운동과정 중에서 각 관절 부분 좌표계 원점 좌표의 실시 갱신 값
Figure 112018062343180-pct00019
을 계산하고 관절이 장애물 좌표계에서의 편각
Figure 112018062343180-pct00020
를 더 얻을수 있다.
Figure 112018062343180-pct00021
그 중,
Figure 112018062343180-pct00022
는 로봇 관절이 로봇 좌표계에서의 좌표이고,
Figure 112018062343180-pct00023
는 로봇 좌표계가 장애물 좌표계로 변환되는 변환행렬(4*4의 행렬이고 로봇 좌표계와 장애물 좌표계가 결정되며, 이 행렬은 직접적으로 계산될 수 있다)이면, 로봇 관절이 장애 물좌표계에서의 좌표
Figure 112018062343180-pct00024
Figure 112018062343180-pct00025
이다.
장애물 좌표계 Z축이 순방향으로 위를 향하고 오른손 좌표계에 따르고 관절이 장애물 좌표계에서의 편각은
Figure 112018062343180-pct00026
이면,
Figure 112018062343180-pct00027
이다.
삼각함수의해를 구하면 관절이 장애물 좌표계에서의 편각은
Figure 112018062343180-pct00028
이고, 편각
Figure 112018062343180-pct00029
을 획득하면, 상기 편각 맵핑관계를 표시하는 해시함수
Figure 112018062343180-pct00030
에 따라 대응 부호의 선형 모델 부분을 계산하고, 대응 부호의 선형 모델 부분에 따라 거리계산을 할 모델 부분을 선별할 수 있다. 예를 들어, 계산하여 획득한 선형 모델 부분의 부호는 K이면, 부호가
Figure 112018062343180-pct00031
범위내에 포함된 선형 모델 부분을 선택하여 최소거리를 계산한다. 그 중, M,N은 미리 설정된 수치로서 부호가 K인 선형 모델 부분 인접의 다수의 선형 모델 부분을 최소거리를 계산할 모델 부분으로 선택한다.
도3a에 도시된 바와 같이, 도3a은 본 발명에 따른 로봇의 장애물 회피 방법의 일 실시예에서 로봇과 장애물의 3D 모델 도면이다. 일 구체적인 실시예에서 로봇은 암 등의 다른 운동 관절이 없이 바닥만 운동하는 로봇을 채택하고, 로봇3D모델은 높이 1500mm이고 운동 바닥 반경이 320mm인 로봇3D모델을 채택하고, 장애물3D모델은 간단한 입방체 모델을 채택하고 크기는 2200mm*2200mm*1000mm이고, 장애물 모델 좌표계에서 로봇 현재의 좌표는 (1800, -100)이다.
도3b은 본 발명에 따른 로봇의 장애물 회피 방법의 일 실시예에서 입방체 장애물에 대해 선형 평균화를 하는 도면이다. 장애물 모델에 대해 전처리를 하는데, 전처리는 주로 장애물 모델을 선형 평균화하는 것이며, 도3b에 도시된 바와 같이, 장애물 모델이 32부분으로 평균화되어 X축으로부터 반시계 방향으로 선형 평균화된 모델 부분에 1,2,?,15,16,?,31,32와 같이 부호를 부여하며, 각 모델 블록의 협각은 360/32=11.25도이고, 따라서 부호1 모델과 X축의 순방향 편각은 11.25도이고, 부호2 모델과 X축의 순방향 편각은 11.25*2=22.5도이고 부호i 모델과 X축의 순방향 편각은 i*(360/32)도이다.
도3c는 본 발명에 따른 로봇의 장애물 회피 방법의 일 실시예에서 모델을 부분적으로 선별하는 도면이다. 모델 부분을 선별하는 과정에서 본 실시예에서 채택된 로봇은 암 등의 다른 운동 관절이 없이 바닥만 운동하는 로봇이기 때문에 바닥 위치 및 자세가 로봇의 전체 위치 및 자세를 표시하며 현재 로봇의 위치는(1800,-100)(장애물 좌표계에서의 좌표에 대하여)이면, 로봇과 장애물 좌표계의 X축정축의 편각은 354 도인 것을 계산할 수 있어 로봇과 대응되는 선형 모델 부분의 부호가 354/11.25=31.5인 것을 더 계산하고 소수점이하 올리면 32를 획득하기 때문에 거리계산할 대응 선형블록의 번호는 32이며, 즉, 로봇이 부호가 32인 장애물과 제일 가깝다. 다음에는 K=32 근처의 장애물블록을 선정하고 GJK를 이용하여 로봇과의 최소거리 및 최소 거리점을 계산하며, M=1,N=2를 선정하면 장애물 블록의 범위는 [31,34]를 획득하고 번호가 32를 초과하면 간단한 변환을 필요하고 33은 대응 부호가 1인 장애물블록으로 변환되고, 34는 대응 번호가 2인 장애물블록으로 변환된다. 도3c에 도시된 바와 같이, 최종 번호가 31,32,1,2인 장애물블록을 선정하여 최소거리를 계산한다.
도3d는 본 발명에 따른 로봇의 장애물 회피 방법의 일 실시예에서 최소 거리 벡터를 계산하는 도면이다. 최소 거리를 계산할 때 상기 처리를 통해 장애물블록의 범위(1,2,31,32)를 축소하며 직접적으로 GJK 알고리즘을 이용하여 로봇과 장애물의 최소거리 점을 계산하며, 도 3d에 도시된 바와 같이, 각각 장애물 상의 점이 (x1,y1,z1)=(1100,-100,-235)이고, 로봇 상의 점이 (x2,y2,z2)=(1477,-100,-235)이면, 로봇과 장애물 사이의 최소 거리 벡터는
Figure 112018062343180-pct00032
이다.
또한, 상기 단계S30은 하기와 같은 단계를 포함한다.
로봇의 장애물 회피 제어 시스템은 계산한 최소 거리에 따라 장애물 회피를 할 필요가 있는지를 분석하되, 계산한 최소 거리가 미리설정된 한계값보다 크면 장애물 회피를 할 필요가 없고 계산한 최소 거리가 미리설정된 한계값보다 작거나 같으면 장애물 회피를 할 필요가 있다. 장애물 회피를 할 필요가 있는 것을 결정하면 로봇의 장애물 회피 제어 시스템은 획득한 포지셔닝 데이터, 계산한 최소 거리 및 이 장애물의 3D모델에 따라 현재 로봇에 대해 운동하여야 할 방향을 계산하고 계산한 운동방향에 따라 로봇의 운동 자세를 제어한다.
또한, 상기 획득한 포지셔닝 데이터, 계산한 최소 거리 및 이 장애물의 3D모델에 따라 현재 로봇에 대해 운동하여야 할 방향을 계산한다는 단계는 하기와 같은 단계를 포함한다.
로봇과 이 장애물을 같은 좌표계 평면으로 투영한다.
미리 결정된 투영 분석규칙 및 장애물 3D 모델이 상기 좌표계 평면으로 투영된 투영 영역 외 테두리의 각 점의 좌표에 따라 이 장애물의 투영이 로봇의 현재 위치와 목표 위치에 대한 유효 차폐 영역의 면적을 계산한다.
계산한 최소 거리 및 유효 차폐 영역의 면적에 따라 제1 미리 설정 유형 장애물 회피 파라미터(예를 들어, 가상 척력)를 결정하고, 목표점 위치와 로봇의 현재 포지셔닝 위치의 거리에 따라 제2 미리 설정 유형 장애물 회피 파라미터(예를 들어, 가상 인력) 를 결정하고, 제1 미리 설정 유형 장애물 회피 파라미터와 제2 미리 설정 유형 장애물 회피 파라미터에 따라 로봇의 현재 운동하여야 할 방향을 결정한다.
또한, 도4에 도시된 바와 같이, 도4는 본 발명에 따른 로봇의 장애물 회피 방법의 일 실시예에서 유효 차폐 영역을 결정하는 도면이다. 상기 미리 결정된 투영분석규칙은 하기와 같다.
좌표계평면에서
Figure 112018062343180-pct00033
위치 점은 로봇의 위치, 즉, 현재 위치이고,
Figure 112018062343180-pct00034
위치 점은 목표점의 위치, 즉, 목표위치이고, 투영 영역 P3은 장애물 3D 모델이 좌표계평면에서의 투영이며, 좌표계평면에서
Figure 112018062343180-pct00035
Figure 112018062343180-pct00036
를 연결하면 하나의 직선 J를 획득한다.
직선 J와 투영 영역P3은 교점이 없거나 하나만 있으면 유효 차폐 영역이 없는 것을 결정한다.
직선 J와 투영 영역P3은 하나 이상의 교점이 있으면 직선 J는 투영을 두 부분(도4에 도시된 S1영역과 S2영역)으로 분할하고 투영 영역P3(예를 들어, S1이나 S2영역)에서 임의로 한 점 Ps 를 선정하고, Ps 를 거쳐 직선J의 수직선을 그리고, 수직선과 직선J의 교점은
Figure 112018062343180-pct00037
이고, 따라서 벡터
Figure 112018062343180-pct00038
를 획득하고 최소 거리 벡터
Figure 112018062343180-pct00039
와 벡터
Figure 112018062343180-pct00040
의 협각
Figure 112018062343180-pct00041
를 계산하며,
Figure 112018062343180-pct00042
가 예각이면 Ps점이 위치한 영역은 유효 차폐 영역(예를 들어, 도4의 유효 차폐 영역S2)인 것을 결정하고
Figure 112018062343180-pct00043
가 예각이 아니면 Ps점이 위치한 영역은 유효 차폐 영역이 아닌 것을 결정한다.
또한, 상기 제1 미리 설정 유형 장애물 회피 파라미터는 가상 척력이고 상기 제2 미리 설정 유형 장애물 회피 파라미터는 가상 인력이며, 상기 계산한 최소거리 및 유효 차폐 영역의 면적에 따라 제1 미리 설정 유형 장애물 회피 파라미터를 결정하고 목표위치와 로봇의 현재 위치의 거리에 따라 제2 미리 설정 유형 장애물 회피 파라미터를 결정하고 제1 미리 설정 유형 장애물 회피 파라미터와 제2 미리 설정 유형 장애물 회피 파라미터에 따라 로봇이 현재 운동하여야 할 방형을 결정하는 단계는 하기와 같다.
계산한 최소거리와 유효 차폐 영역의 면적에 대하여, 제1계산규칙을 이용하여 로봇에 작용하는 하나의 가상 척력을 계산한다.
현재 포지셔닝 위치와 목표점 위치의 거리에 대하여, 제2계산규칙을 이용하여 로봇에 작용하는 하나의 가상 인력을 계산한다.
이 가상 인력과 가상 척력의 합력방향을 계산하고, 상기 합력방향은 로봇 현재 운동하여야 할 방향이다.
또한, 상기 제1계산규칙은 하기와 같다.
Figure 112018062343180-pct00044
그 중,
Figure 112018062343180-pct00045
는 로봇과 장애물의 최소거리의 벡터이고, S는 유효 차폐 영역의 면적이고,
Figure 112018062343180-pct00046
는 장애물이 로봇에 작용하는 가상 척력이고,
Figure 112018062343180-pct00047
는 최소거리의 벡터와 유효 차폐 영역의 면적은 장애물이 로봇에 작용하는 가상 척력의 관계식으로 변환된다. 이 관계식은 다양한 방법으로 이룰 수 있고 선택이 가능한 일 실시예에서, 이 관계식은 하기와 같다.
Figure 112018062343180-pct00048
그 중, kr, br은 미리 설정된 가상 척력 계수이고,
Figure 112018062343180-pct00049
은 미리 설정된 유효 차폐 영역 면적의 한계값이고
Figure 112018062343180-pct00050
>0,
Figure 112018062343180-pct00051
은 미리 설정된 한계값이고
Figure 112018062343180-pct00052
>0, 가상 척력 방향(즉,
Figure 112018062343180-pct00053
의 방향)과 최소 거리 방향과 같다.
상기 관계식에 따라, 로봇과 장애물의 거리가 멀고 설정된 거리 한계값
Figure 112018062343180-pct00054
을 초과하면 장애물 회피를 하지않고
Figure 112018062343180-pct00055
은 0이며, 장애물 회피 거리 범위 내(최소 거리가
Figure 112018062343180-pct00056
보다 작다)에 진입한 경우, 유효 차폐 영역의 면적S는 크고 설정된
Figure 112018062343180-pct00057
을 초과하면
Figure 112018062343180-pct00058
>1,
Figure 112018062343180-pct00059
이 커지고 멀리 떨어질 때 장애물 회피를 할 수 있고, 조기 장애물 회피하여 큰 장애물을 피한다.
또한, 상기 제2계산규칙은 하기와 같다.
Figure 112018062343180-pct00060
그 중,
Figure 112018062343180-pct00061
는 목표위치가 로봇에 작용하는 가상 인력이고,
Figure 112018062343180-pct00062
는 미리 설정된 인력 계수 이고,
Figure 112018062343180-pct00063
는 목표 위치와 로봇의 현재 포지셔닝 위치의 거리이고 가상 인력방향(즉,
Figure 112018062343180-pct00064
방향)은 목표 위치를 향한다.
본 발명은 더 나아가서 로봇의 장애물 회피 제어 시스템을 개시한다.
도5를 참조하면 도5는 본 발명에 따른 장애물 회피 제어 시스템(10)의 바람직한 실시예의 실행 환경의 도면이다.
본 실시예에 있어서, 상기 장애물 회피 제어 시스템(10)은 로봇(1)에 설치되어 실행된다.
이 로봇(1)은 메모리(11), 프로세서(12) 및 모니터(13)를 포함할 수 있고 이에 한정되지 않다. 도1은 유닛(11-13)을 가지는 로봇(1)만 도시하지만 모든 도시된 유닛을 실시하는 것을 요구하지 않고 더 많거나 적은 유닛으로 대체하여 실시할 수 있다.
그 중, 메모리(11)는 메모리 및 적어도 한 종류의 판독 가능한 저장매체를 포함한다. 메모리는 전자장치(1) 의 동작을 위한 캐시를 제공하며, 판독 가능한 저장매체는 플래시 메모리, 하드 디스크, 멀티미디어 카드, 카드 타입 메모리 등과 같은 비휘발성 저장매체일 수 있다. 일부 실시예에 있어서, 상기 판독 가능한 저장매체는 상기 로봇(1)의 내부 저장 유닛일 수 있고, 예를 들어, 이 로봇(1)의 하드 디스크 또는 메모리일 수 있으며, 다른 일부 실시예에 있어서, 상기 판독 가능한 저장매체는 상기 로봇(1)의 외부 저장 유닛일 수도 있고, 예를 들어, 전자장치(1)에 설치된 플러그인형 하드디스크, 스마트 미디어 카드(Smart Media Card, SMC), 시큐어 디지털(Secure Digital, SD) 카드, 플래시 카드(Flash Card)등과 같다. 본 실시예에 있어서, 상기 메모리(11)의 판독 가능한 저장매체는 통상적으로 상기 로봇(1)에 설치된 응용 소프트웨어와 각 종류의 데이터를 저장하며, 예를 들어, 상기 장애물 회피 제어 시스템(10)의 프로그램 코드 등과 같다. 또한, 상기 메모리(11)는 이미 출력되거나 출력할 데이터를 일시적으로 저장할 수 있다.
일부 실시예에 있어서, 상기 프로세서(12)는 중앙 처리 장치(Central Processing Unit,CPU), 마이크로컨트롤러, 또는 기타 데이터 처리 칩일 수 있고 상기 메모리(11)에 저장된 프로그램 코드 또는 처리 데이터를 실행하기 위한 것이다. 이 프로세서(12)는 상기 장애물 회피 제어 시스템을 수행하고 상기 로봇의 장애물 회피 방법의 임의의 하나 단계를 수행할 수 있다.
일부 실시예에 있어서, 상기 모니터(13)는 LED 모니터, 액정 모니터, 터치 액정 모니터 및 OLED(Organic Light-Emitting Diode,유기 발광 다이오드)터치장치 등일 수 있다. 상기 모니터(13)는 상기 로봇(1)에서 처리된 정보를 디스플레이하고 가시화의 유저 인터페이스를 디스플레이하며, 예를 들어, 응용 메뉴 인터페이스, 앱 아이콘 인터페이스 등과 같다. 상기 로봇(1)의 부품(11-13)은 시스템 버스를 통해 서로 통신한다.
도6을 참조하면, 도6은 본 발명에 따른 장애물 회피 제어 시스템(10)의 바람직한 실시예의 기능모듈의 도면이다. 본 실시예에 있어서, 상기 장애물 회피 제어 시스템(10)은 결정모듈(01), 계산모듈(02), 제어모듈(03)로 분할될 수 있다. 본 발명에서 언급한 모듈은 특정 기능을 수행할 수 있는 일련의 컴퓨터 프로그램 명령 세그먼트를 뜻하고, 상기 장애물 회피 제어 시스템(10)이 상기 로봇(1)에서의 실행과정을 설명하기 위한 것이다. 프로세서(12)가 장애물 회피 제어 시스템(10)의 각 모듈의 컴퓨터 프로그램 명령 세그먼트를 실행할 때, 각 컴퓨터 프로그램 명령 세그먼트에 의해 실행되는 동작과 기능에 기초하여 상기 로봇의 장애물 회피 방법의 어느 한 단계를 실행할 수 있다. 결정모듈(01), 계산모듈(02), 제어모듈(03)에 의해 실행된 동작과 기능은 하기와 같다.
상기 결정모듈(01)은 실시간 또는 정해진 시간(예를 들어, 2초마다)으로 로봇의 현재 포지셔닝 데이터(예를 들어, 실내에서의 위치, 자세 등)를 획득하고 현재 포지셔닝 데이터와 미리 결정된 이동 영역에서의 각 장애물의 위치 데이터에 따라 현재 포지셔닝 위치로부터 목표 위치까지의 경로에 미리 설정된 거리보다 짧은 현재 포지셔닝 위치로부터 떨어지는 거리를 가지는 장애물의 유무를 결정한다. 예를 들어, 로봇 자신의 센서에 의해 미리 결정된 이동 영역 내의 각 장애물로부터 떨어지는 거리를 포지셔닝하여 판단할 수 있으며, 예를 들어, 로봇에 접근 센서(예를 들어, 초음파, 적외선, 레이저 등의 센서)가 설치되어 로봇의 현재 위치로부터 목표 위치까지의 경로에 미리 설정된 거리보다 짧은 현재 포지셔닝 위치로부터 떨어지는 거리에 장애물의 유무를 판단한다.
상기 계산모듈(02)은 미리 설정된 거리보다 짧은 현재 포지셔닝 위치로부터 떨어지는 거리를 가지는 장애물이 있으면 획득한 포지셔닝 위치, 미리 결정된 로봇의 3D모델 및 미리 결정된 이 장애물의 3D모델에 따라 로봇과 이 장애물의 최소 거리를 계산한다.
로봇의 현재 포지셔닝 위치로부터 미리 결정된 이동 영역 내의 각 장애물까지의 거리가 검출된 후, 미리 설정된 거리보다 짧은 현재 포지셔닝 위치로부터 떨어지는 거리를 가지는 장애물이 없다고 판단되면, 목표 위치 경로를 따라 계속 이동하고 실시간 또는 정해진 시간으로 로봇과 이동 영역 내의 각 장애물의 거리를 검출한다. 미리 설정된 거리보다 짧은 현재 포지셔닝 위치로부터 떨어지는 거리를 가지는 장애물이 있다고 판단되면, 획득한 포지셔닝 위치, 미리 결정된 로봇의 3D모델 및 미리 결정된 이 장애물의 3D모델에 따라 로봇과 이 장애물의 최소 거리를 계산하여, 이 최소 거리를 이용하여 로봇이 3차원 공간에서 목표 위치의 경로를 따라 이동할 때 이 장애물에 충돌하는지를 판단하여 로봇의 센서의 높이 평면에서만 장애물을 검출할 수 있을 뿐만 아니라 3차원 공간 중 잠재적인 장애물을 검출할 수 있어 로봇의 센서가 설치된 방향과 로봇의 센서가 설치되지 않은 다른 방향에서 3차원 공간 중 각 방향의 잠재적인 장애물을 모두 검출할 수 있다. 그 중, 상기 미리 결정된 로봇의 3D 모델과 이동 영역 내의 각 장애물의 3D 모델은 로봇의 저장 유닛에 미리 저장될 수 있거나 로봇이 무선통신유닛을 통해 사물 인터넷 시스템 서버에 접근하여 획득할 수도 있으며, 여기서 한정하지 않는다.
상기 제어모듈(03)은 획득한 포지셔닝 데이터, 계산된 최소 거리 및 이 장애물의 3D모델에 따라 현재 로봇이 운동하여야 할 방향을 계산하고 계산된 운동방향에 따라 로봇의 운동자세를 제어하여 3차원 공간 중 각 방향의 잠재적인 장애물을 피하여 로봇이 목표 위치 경로를 따라 이동할 때 장애물을 피하는 것을 효율적으로 제어되도록 한다.
본 실시예는 로봇의 현재 포지셔닝 데이터에 따라 미리 설정된 거리보다 짧은 현재 포지셔닝 위치로부터 떨어지는 거리를 가지는 장애물이 있는 것을 검출되면, 로봇의 현재 포지셔닝 위치, 미리 결정된 로봇의 3D모델 및 미리 결정된 이 장애물의 3D모델에 따라 3차원 공간에서 로봇과 이 장애물의 최소 거리를 계산하며, 로봇의 현재 운동하여야 할 방향을 계산하여 로봇의 운동자세를 제어한다. 로봇과 장애물이 3차원 공간에서의 최소거리에 의해 로봇의 운동방향을 제어할 수 있음으로써 로봇이 3차원 공간 중 각 방향의 장애물을 검출하여 피하여 로봇의 장애물 회피를 효율적으로 제어한다.
또한, 상기 계산모듈(02)의 다른 용도는 하기와 같다.
미리 결정된 로봇의 3D 모델과 이 장애물의 3D 모델을 전처리하며, 획득한 포지셔닝 데이터, 전처리된 로봇 3D 모델 데이터 및 전처리된 장애물 3D 모델 데이터에 대해, 미리 결정된 거리 계산 규칙에 의해 로봇과 장애물의 최소 거리를 계산한다.
예를 들어, 로봇과 장애물이 비 볼록체이기 때문에 로봇과 장애물의 3D 모델을 볼록체로 변화하는 것과 같이 전처리할 수 있어 후속으로 보다 신속하고 정확하게 최소 거리를 계산한다.
또한, 상기 계산모듈(02)의 다른 용도는 하기와 같다. 로봇의 각 관절에 대해, 직접적으로 미리 결정된 알고리즘(예를 들어, QuickHull 급속 볼록 선체 알고리즘)을 이용하여 각 관절을 둘러싸는 최소의 볼록 다면체를 찾아 로봇의 비 볼록 모델을 볼록 모델로 변환한다. 상기 볼록 처리된 로봇 3D 모델을 통해 후속으로 최소 거리벡터를 계산할 때 계산 속도와 계산 정확도를 효율적으로 향상시킬 수 있다.
장애물 3D 모델을 전처리하는 방식은 3종을 포함한다. 첫 번째, 비 볼록 다면체의 볼록 바운딩 박스를 구축하여 볼록체로 변환되어 충돌 테스트를 하며, 두 번째, 비 볼록 다면체에 대해 볼록 분해를 하여 비 볼록 모델을 다수의 볼록체로 변환하여 충돌 테스트를 하며, 셋 번째, 장애물 3D 모델에 대해 선형 평균화(즉, 선형분할)하고 평균화된 단일의 선형에 대해 볼록 분해를 하는데 이런 먼저 선형 평균화하고 볼록 분해를 하는 방식은 첫 번째와 두 번째의 방식에 대하여 계산속도가 더 신속하고 계산 정확도가 더 높다.
또한, 상기 계산모듈(02)의 다른 용도는 하기와 같다.
선형 평균화할 장애물 3D 모델의 구형 바운딩 박스를 구축하고 구형 바운딩 박스의 구심을 찾으며, 상기 구심을 거치는 초기 선형 평균화 평면을 설정하고 초기 선형 평균화 평면을 미리 설정된 회전각에 따라 상기 구심을 둘러싸고 여러 차례 회전하여 구형 바운딩 박스를 n개의 선형부분으로 평균으로 분할하며, 이 구형 바운딩 박스의 n개의 선형부분은 장애물 3D 모델의 선형부분으로 한다.
예를 들어, 일 구체적인 실시 방식은 하기와 같은 단계를 포함할 수 있다.
X1,선형 평균화할 장애물 3D 모델 (M)의 구형 바운딩 박스(B)를 구축하고 구형 바운딩 박스(B)의 구심(O)을 찾고 구심(O)에서 3차원 좌표계를 구축한다.
X2, 구심(O)을 거쳐 3차원 좌표계(Oxyz) 중 z 축과 중합된 직선(L)를 하면 xoz평면이 초기 선형 평균화 평면이고 xoz평면이
Figure 112018062343180-pct00065
인 것을 가정하면
Figure 112018062343180-pct00066
는 장애물 3D 모델을 2부분으로 분할한다.
X3,
Figure 112018062343180-pct00067
은 직선(L)을 둘러싸고 일정 각도(
Figure 112018062343180-pct00068
)(
Figure 112018062343180-pct00069
는 인접 선형편각이다)를 선택하여 또 다른 새로운 평면(
Figure 112018062343180-pct00070
)를 획득하고 새로운 평면을
Figure 112018062343180-pct00071
에 따라 계속적으로 회전하면 평면(
Figure 112018062343180-pct00072
)을 획득하고, m-1회를 회전하면 m 번째의 평면(
Figure 112018062343180-pct00073
)을 획득한다.
X4,
Figure 112018062343180-pct00074
를 가정하면 m개의 평면은 구형 볼록 바운딩 박스(B)를 2m 부분으로 평균화할 수 있고 장애물 3D 모델을 2m개의 모델로 분할한다. 상기 단계를 통해 비 볼록 모델도 포함하는 임의의 모델에 대해 간단하게 분할하며 해시 테이블을 통해 분할된 모델 부분을 관리할 수 있다.
또한, 상기 계산모듈(02)의 다른 용도는 하기와 같다.
Delaunay 삼각분할 알고리즘에 의해 장애물3D 모델에 대해 표면 삼각분할을 하고 삼각형 패치(볼록편)집합을 생성하며, 각 삼각형 패치에 대해 이와 대응되는 볼록 블록을 구축한다. 예를 들어, 두께가 0인 삼각형 패치를 이의 평면 법벡터 방향으로 미리 설정된 두께대로 신장하여 볼록 블록으로 된다.
또한, 상기 미리결정된 거리 계산 규칙은 하기와 같은 단계를 포함한다.
로봇의 현재 포지셔닝 데이터(예를 들어, 실내 위치, 자세 등)와 미리 결정된 선별 알고리즘에 따라 장애물 3D 모델을 선형 평균화한 후 획득한 각 모델에 대해 부분적으로 선별하고 거리 계산할 모델 부분을 선별한다.
획득한 포지셔닝 데이터, 선별된 모델 부분에 대해, 미리 결정된 거리계산 알고리즘(예를 들어, GJK 알고리즘)에 의해 로봇과 선별된 모듈 부분의 최소 거리를 계산하며 이 최소 거리는 로봇과 장애물 3D 모델의 최소 거리이다.
또한, 도2a, 2b에 도시된 바와 같이, 상기 미리 결정된 선별 알고리즘은 하기와 같은 단계를 포함한다.
Y1. 장애물 3D 모델을 선형 평균화한 후 획득한 n개의 모델 부분을 각각 장애물의 n개의 노드로 하여 key-value키값이 각각 초기 선형 평균화 평면(즉, xoz평면)의 회전각, 즉, 편각과 모델 기하학적 정보 데이터에 대한 해시 테이블을 구축하여, 모델 노드 관리를 한다.
Y2. 선형 평균화한 후 획득한 각 모델 부분에 부호를 부여하고, 1로부터 부호를 부여하며, 평균화된 n개의 선형 모델 부분은 인접한 선형의 편각이
Figure 112018062343180-pct00075
이고, 부호에 따라 초기 부호가 i인 선형 모델 부분과의 편각 맵핑관계를 구축하고 상기 편각 맵핑관계를 표시하는 해시 함수는
Figure 112018062343180-pct00076
이다.
그 중, i는 부호가 i인 선형 모델 부분이고
Figure 112018062343180-pct00077
는 부호가 i인 선형 모델 부분과 장애물 좌표계의 X축 정축의 편각이다.
Y3. 로봇의 운동학을 구축하고, 구축한 운동학에 따라 로봇 각 관절의 자세를 계산하며, 구축한 해시 테이블에서 로봇 근처의 장애물 선형영역을 조회한다. 하기 도2에 도시된 바와 같이, 로봇이 운동과정 중에서 로봇운동학을 통해, 운동학 방정은
Figure 112018062343180-pct00078
이다.
그 중,
Figure 112018062343180-pct00079
(k=1,2,...,i)는 로봇 관절좌표계 사이의 동차변환행렬(로봇 각 관절의 D-H 파라미터에 의해 결정)이고,
Figure 112018062343180-pct00080
는 로봇의 현재 위치 행렬(로봇의 현재 포지셔닝 데이터와 대응)이고
Figure 112018062343180-pct00081
는 i 번째 관절이 로봇 좌표계에 대한 자세이다.
Figure 112018062343180-pct00082
계산을 통해 로봇 운동과정 중에서 각 관절 부분 좌표계 원점 좌표의 실시 갱신 값
Figure 112018062343180-pct00083
을 계산하고 관절이 장애물 좌표계에서의 편각
Figure 112018062343180-pct00084
를 더 얻을수 있다.
Figure 112018062343180-pct00085
그 중,
Figure 112018062343180-pct00086
는 로봇 관절이 로봇 좌표계에서의 좌표이고,
Figure 112018062343180-pct00087
는 로봇 좌표계가 장애물 좌표계로 변환되는 변환행렬(4*4의 행렬이고 로봇 좌표계와 장애물 좌표계가 결정되며, 이 행렬은 직접적으로 계산될 수 있다)이면, 로봇 관절이 장애물 좌표계에서의 좌표
Figure 112018062343180-pct00088
Figure 112018062343180-pct00089
이다.
장애물 좌표계 Z축이 순방향으로 위를 향하고 오른손 좌표계에 따르고 관절이 장애물 좌표계에서의 편각은
Figure 112018062343180-pct00090
이면,
Figure 112018062343180-pct00091
이다.
삼각함수의해를 구하면 관절이 장애물 좌표계에서의 편각은
Figure 112018062343180-pct00092
이고, 편각
Figure 112018062343180-pct00093
을 획득하면, 상기 편각 맵핑관계를 표시하는 해시함수
Figure 112018062343180-pct00094
에 따라 대응 부호의 선형 모델 부분을 계산하고, 대응 부호의 선형 모델 부분에 따라 거리계산을 할 모델 부분을 선별할 수 있다. 예를 들어, 계산하여 획득한 선형 모델 부분의 부호는 K이면, 부호가
Figure 112018062343180-pct00095
범위내에 포함된 선형 모델 부분을 선택하여 최소거리를 계산한다. 그 중, M,N은 미리 설정된 수치로서 부호가 K인 선형 모델 부분 인접의 다수의 선형 모델 부분을 최소거리를 계산할 모델 부분으로 선택한다.
도3a에 도시된 바와 같이, 일 구체적인 실시예에서 로봇은 암 등의 다른 운동 관절이 없이 바닥만 운동하는 로봇을 채택하고, 로봇3D모델은 높이 1500mm이고 운동 바닥 반경이 320mm인 로봇3D모델을 채택하고, 장애물3D모델은 간단한 입방체 모델을 채택하고 크기는 2200mm*2200mm*1000mm이고, 장애물 모델 좌표계에서 로봇 현재의 좌표는 (1800, -100)이다.
장애물 모델에 대해 전처리를 하는데, 전처리는 주로 장애물 모델을 선형 평균화하는 것이며, 도3b에 도시된 바와 같이, 장애물 모델이 32부분으로 평균화되어 X축으로부터 반시계 방향으로 선형 평균화된 모델 부분에 1,2,?,15,16,?,31,32와 같이 부호를 부여하며, 각 모델 블록의 협각은 360/32=11.25도이고, 따라서 부호1 모델과 X축의 순방향 편각은 11.25도이고, 부호2 모델과 X축의 순방향 편각은 11.25*2=22.5도이고 부호i 모델과 X축의 순방향 편각은 i*(360/32)도이다.
모델 부분을 선별하는 과정에서는 본 실시예에서 채택된 로봇은 암 등의 다른 운동 관절이 없이 바닥만 운동하는 로봇이기 때문에 바닥 위치 및 자세가 로봇의 전체 자세를 표시하며 현재 로봇의 위치는(1800,-100)(장애물 좌표계에서의 좌표에 대하여)이면, 로봇과 장애물 좌표계의 X축정축의 편각은 354 도인 것을 계산할 수 있어 로봇과 대응되는 선형 모델 부분의 부호가 354/11.25=31.5인 것을 더 계산하고 소수점이하 올리면 32를 획득하기 때문에 거리계산할 대응 선형블록의 번호는 32이며, 즉, 로봇이 부호가 32인 장애물과 제일 가깝다.
다음에는 K=32 근처의 장애물블록을 선정하고 GJK를 이용하여 로봇과의 최소거리 및 최소 거리점을 계산하며, M=1,N=2를 선정하면 장애물 블록의 범위는 [31,34]를 획득하고 번호가 32를 초과하면 간단한 변환을 필요하고 33은 대응 부호가 1인 장애물블록으로 변환되고, 34는 대응 번호가 2인 장애물블록으로 변환된다. 도3c에 도시된 바와 같이, 최종 번호가 31,32,1,2인 장애물블록을 선정하여 최소거리를 계산한다.
최소 거리를 계산할 때 상기 처리를 통해 장애물블록의 범위(1,2,31,32)를 축소하며 직접적으로 GJK 알고리즘을 이용하여 로봇과 장애물의 최소거리 점을 계산하며, 도 3d에 도시된 바와 같이, 각각 장애물 상의 점이 (x1, y1, z1)=(1100, -100, -235)이고, 로봇 상의 점이 (x2, y2, z2)=(1477, -100,-235)이면, 로봇과 장애물 사이의 최소 거리 벡터는
Figure 112018062343180-pct00096
이다.
또한, 상기 제어모듈(03)은 하기와 같다.
계산한 최소 거리에 따라 장애물 회피를 할 필요가 있는지를 분석하되, 계산한 최소 거리가 미리 설정된 한계값보다 크면 장애물 회피를 할 필요가 없고 계산한 최소 거리가 미리 설정된 한계값보다 작거나 같으면 장애물 회피를 할 필요가 있다. 장애물 회피를 할 필요가 있는 것을 결정하면 획득한 포지셔닝 데이터, 계산한 최소 거리 및 이 장애물의 3D모델에 따라 현재 로봇에 대해 운동하여야 할 방향을 계산하고 계산한 운동방향에 따라 로봇의 운동 자세를 제어한다.
또한, 상기 제어 모듈(03)의 다른 용도는 하기와 같다.
로봇과 이 장애물을 같은 좌표계 평면으로 투영한다.
미리 결정된 투영 분석규칙 및 장애물 3D 모델이 상기 좌표계 평면으로 투영된 투영 영역 외 테두리의 각 점의 좌표에 따라 이 장애물의 투영이 로봇의 현재 위치와 목표 위치에 대한 유효 차폐 영역의 면적을 계산한다.
계산한 최소 거리 및 유효 차폐 영역의 면적에 따라 제1 미리 설정 유형 장애물 회피 파라미터(예를 들어, 가상 척력)를 결정하고, 목표점 위치와 로봇의 현재 포지셔닝 위치의 거리에 따라 제2 미리 설정 유형 장애물 회피 파라미터(예를 들어, 가상 인력) 를 결정하고, 제1 미리 설정 유형 장애물 회피 파라미터와 제2 미리 설정 유형 장애물 회피 파라미터에 따라 로봇의 현재 운동하여야 할 방향을 결정한다.
또한, 도4에 도시된 바와 같이, 상기 미리 결정된 투영 분석 규칙은 하기와 같다.
좌표계평면에서
Figure 112018062343180-pct00097
위치 점은 로봇의 위치, 즉, 현재 위치이고,
Figure 112018062343180-pct00098
위치 점은 목표점의 위치, 즉, 목표위치이고, 투영 영역 P3은 장애물 3D 모델이 좌표계평면에서의 투영이며, 좌표계평면에서
Figure 112018062343180-pct00099
Figure 112018062343180-pct00100
를 연결하면 하나의 직선 J를 획득한다.
직선 J와 투영 영역P3은 교점이 없거나 하나만 있으면 유효 차폐 영역이 없는 것을 결정한다.
직선 J와 투영 영역P3은 하나 이상의 교점이 있으면 직선 J는 투영을 두 부분(도4에 도시된 S1영역과 S2영역)으로 분할하고 투영 영역P3(예를 들어, S1이나 S2영역)에서 임의로 한 점Ps 를 선정하고, Ps 를 거쳐 직선J의 수직선을 그리고, 수직선과 직선J의 교점은
Figure 112018062343180-pct00101
이고, 따라서 벡터
Figure 112018062343180-pct00102
를 획득하고 최소 거리 벡터
Figure 112018062343180-pct00103
와 벡터
Figure 112018062343180-pct00104
의 협각
Figure 112018062343180-pct00105
를 계산하며,
Figure 112018062343180-pct00106
가 예각이면 Ps점이 위치한 영역은 유효 차폐 영역(예를 들어, 도4의 유효 차폐 영역S2)인 것을 결정하고
Figure 112018062343180-pct00107
가 예각이 아니면 Ps점이 위치한 영역은 유효 차폐 영역이 아닌 것을 결정한다.
또한, 상기 제1 미리 설정 유형 장애물 회피 파라미터는 가상 척력이고 상기 제2 미리 설정 유형 장애물 회피 파라미터는 가상 인력이며, 상기 제어 모듈(03)의 다른 용도는 하기와 같다.
상기 계산한 최소거리 및 유효 차폐 영역의 면적에 따라 제1계산규칙을 이용하여 로봇에 작용하는 하나의 가상 척력을 계산한다.
현재 포지셔닝 위치와 목표점 위치의 거리에 대하여, 제2계산규칙을 이용하여 로봇에 작용하는 하나의 가상 인력을 계산한다.
이 가상 인력과 가상 척력의 합력방향을 계산하고, 상기 합력방향은 로봇 현재 운동하여야 할 방향이다.
또한, 상기 제1계산규칙은 하기와 같다.
Figure 112018062343180-pct00108
그 중,
Figure 112018062343180-pct00109
는 로봇과 장애물의 최소거리의 벡터이고, S는 유효 차폐 영역의 면적이고,
Figure 112018062343180-pct00110
는 장애물이 로봇에 작용하는 가상 척력이고,
Figure 112018062343180-pct00111
는 최소거리의 벡터와 유효 차폐 영역의 면적은 장애물이 로봇에 작용하는 가상 척력의 관계식으로 변환된다. 이 관계식은 다양한 방법으로 이룰 수 있고 선택이 가능한 일 실시예에서, 이 관계식은 하기와 같다.
Figure 112018062343180-pct00112
그 중, kr, br은 미리 설정된 가상 척력 계수이고,
Figure 112018062343180-pct00113
은 미리 설정된 유효 차폐 영역 면적의 한계값이고
Figure 112018062343180-pct00114
>0,
Figure 112018062343180-pct00115
은 미리 설정된 한계값이고
Figure 112018062343180-pct00116
>0, 가상 척력 방향(즉,
Figure 112018062343180-pct00117
의 방향)과 최소 거리 방향과 같다.
상기 관계식에 따라, 로봇과 장애물의 거리가 멀고 설정된 거리 한계값
Figure 112018062343180-pct00118
을 초과하면 장애물 회피를 하지않고
Figure 112018062343180-pct00119
은 0이며, 장애물 회피 거리 범위 내(최소 거리가
Figure 112018062343180-pct00120
보다 작다)에 진입한 경우, 유효 차폐 영역의 면적S는 크고 설정된
Figure 112018062343180-pct00121
을 초과하면
Figure 112018062343180-pct00122
>1,
Figure 112018062343180-pct00123
이 커지고 멀리 떨어질 때 장애물 회피를 할 수 있고, 조기 장애물 회피하여 큰 장애물을 피한다.
또한, 상기 제2계산규칙은 하기와 같다.
Figure 112018062343180-pct00124
그 중,
Figure 112018062343180-pct00125
는 목표위치가 로봇에 작용하는 가상 인력이고,
Figure 112018062343180-pct00126
는 미리 설정된 인력 계수 이고,
Figure 112018062343180-pct00127
는 목표 위치와 로봇의 현재 포지셔닝 위치의 거리이고 가상 인력방향(즉,
Figure 112018062343180-pct00128
방향)은 목표 위치를 향한다.
또한, 본 발명은 컴퓨터 판독 가능한 저장매체를 개시한다.
본 실시예에 있어서, 이 컴퓨터 판독 가능한 저장매체에는 로봇의 장애물 회피 제어 시스템이 저장되고, 이 로봇의 장애물 회피 제어 시스템은 저어도 하나의 프로세서에 의해 하기와 같은 동작을 실행할 수 있다.
단계S10,실시간 또는 정해진 시간으로 로봇의 현재 포지셔닝 데이터를 획득하고 현재 포지셔닝 데이터와 미리 결정된 이동 영역에서의 각 장애물의 위치 데이터에 따라 현재 포지셔닝 위치로부터 목표 위치까지의 경로에 미리 설정된 거리보다 짧은 현재 포지셔닝 위치로부터 떨어지는 거리를 가지는 장애물의 유무를 결정한다.
단계S20, 미리 설정된 거리보다 짧은 현재 포지셔닝 위치로부터 떨어지는 거리를 가지는 장애물이 있으면 획득한 포지셔닝 위치, 미리 결정된 로봇의 3D모델 및 미리 결정된 이 장애물의 3D모델에 따라 로봇과 이 장애물의 최소 거리를 계산한다.
단계S30, 획득한 포지셔닝 데이터, 계산된 최소 거리 및 이 장애물의 3D모델에 따라 현재 로봇이 운동하여야 할 방향을 계산하고 계산된 운동방향에 따라 로봇의 운동자세를 제어하여 장애물을 피하도록 한다.
또한, 상기 단계S20은 하기와 같은 단계를 포함한다.
단계S201, 미리 결정된 로봇의 3D 모델과 이 장애물의 3D 모델을 전처리한다.
단계S202, 획득한 포지셔닝 데이터, 전처리된 로봇 3D 모델 데이터 및 전처리된 장애물 3D 모델 데이터에 대해, 미리 결정된 거리 계산 규칙에 의해 로봇과 장애물의 최소 거리를 계산한다.
또한, 상기 단계S201에서의 로봇 3D 모델의 전처리는 하기와 같은 단계를 포함한다. 로봇의 각 관절에 대해, 직접적으로 미리 결정된 알고리즘(예를 들어, QuickHull 급속 볼록 선체 알고리즘)을 이용하여 각 관절을 둘러싸는 최소의 볼록 다면체를 찾아 로봇의 비 볼록 모델을 볼록 모델로 변환한다. 상기 볼록 처리된 로봇 3D 모델을 통해 후속으로 최소 거리벡터를 계산할 때 계산 속도와 계산 정확도를 효율적으로 향상시킬 수 있다.
장애물 3D 모델을 전처리하는 방식은 3종을 포함한다. 첫 번째, 비 볼록 다면체의 볼록 바운딩 박스를 구축하여 볼록체로 변환되어 충돌 테스트를 하며, 두 번째, 비 볼록 다면체에 대해 볼록 분해를 하여 비 볼록 모델을 다수의 볼록체로 변환하여 충돌 테스트를 하며, 셋 번째, 장애물 3D 모델에 대해 선형 평균화(즉, 선형분할)하고 평균화된 단일의 선형에 대해 볼록 분해를 하는데 이런 먼저 선형 평균화하고 볼록 분해를 하는 방식은 첫 번째와 두 번째의 방식에 대하여 계산속도가 더 신속하고 계산 정확도가 더 높다.
또한, 상기 장애물 3D 모델에 대해 선형 평균화하는 단계는 하기와 같은 단계를 포함한다.
선형 평균화할 장애물 3D 모델의 구형 바운딩 박스를 구축하고 구형 바운딩 박스의 구심을 찾는다.
상기 구심을 거치는 초기 선형 평균화 평면을 설정하고 초기 선형 평균화 평면을 미리 설정된 회전각에 따라 상기 구심을 둘러싸고 여러 차례 회전하여 구형 바운딩 박스를 n개의 선형부분으로 평균으로 분할하며, 이 구형 바운딩 박스의 n개의 선형부분은 장애물 3D 모델의 선형부분으로 한다.
또한, 상기 평균화된 단일의 선형에 대해 볼록 분해는 하기와 같은 단계를 포함한다.
Delaunay 삼각분할 알고리즘에 의해 장애물3D 모델에 대해 표면 삼각분할을 하고 삼각형 패치(볼록편)집합을 생성하며, 각 삼각형 패치에 대해 이와 대응되는 볼록 블록을 구축한다. 예를 들어, 두께가 0인 삼각형 패치를 이의 평면 법벡터 방향으로 미리 설정된 두께대로 신장하여 볼록 블록으로 된다.
또한, 상기 미리결정된 거리 계산 규칙은 하기와 같은 단계를 포함한다.
로봇의 현재 포지셔닝 데이터(예를 들어, 실내 위치, 자세 등)와 미리 결정된 선별 알고리즘에 따라 장애물 3D 모델을 선형 평균화한 후 획득한 각 모델에 대해 부분적으로 선별하고 거리 계산할 모델 부분을 선별한다.
획득한 포지셔닝 데이터, 선별된 모델 부분에 대해, 미리 결정된 거리계산 알고리즘(예를 들어, GJK 알고리즘)에 의해 로봇과 선별된 모듈 부분의 최소 거리를 계산하며 이 최소 거리는 로봇과 장애물 3D 모델의 최소 거리이다.
또한, 상기 단계S30은 하기와 같은 단계를 포함한다.
로봇의 장애물 회피 제어 시스템은 계산한 최소 거리에 따라 장애물 회피를 할 필요가 있는지를 분석하되, 계산한 최소 거리가 미리설정된 한계값보다 크면 장애물 회피를 할 필요가 없고 계산한 최소 거리가 미리설정된 한계값보다 작거나 같으면 장애물 회피를 할 필요가 있다. 장애물 회피를 할 필요가 있는 것을 결정하면 로봇의 장애물 회피 제어 시스템은 획득한 포지셔닝 데이터, 계산한 최소 거리 및 이 장애물의 3D모델에 따라 현재 로봇에 대해 운동하여야 할 방향을 계산하고 계산한 운동방향에 따라 로봇의 운동 자세를 제어한다.
또한, 상기 획득한 포지셔닝 데이터, 계산한 최소 거리 및 이 장애물의 3D모델에 따라 현재 로봇에 대해 운동하여야 할 방향을 계산한다는 단계는 하기와 같은 단계를 포함한다.
로봇과 이 장애물을 같은 좌표계 평면으로 투영한다.
미리 결정된 투영 분석규칙 및 장애물 3D 모델이 상기 좌표계 평면으로 투영된 투영 영역 외 테두리의 각 점의 좌표에 따라 이 장애물의 투영이 로봇의 현재 위치와 목표 위치에 대한 유효 차폐 영역의 면적을 계산한다.
계산한 최소 거리 및 유효 차폐 영역의 면적에 따라 제1 미리 설정 유형 장애물 회피 파라미터(예를 들어, 가상 척력)를 결정하고, 목표점 위치와 로봇의 현재 포지셔닝 위치의 거리에 따라 제2 미리 설정 유형 장애물 회피 파라미터(예를 들어, 가상 인력) 를 결정하고, 제1 미리 설정 유형 장애물 회피 파라미터와 제2 미리 설정 유형 장애물 회피 파라미터에 따라 로봇의 현재 운동하여야 할 방향을 결정한다.
또한, 상기 미리 결정된 투영분석규칙은 하기와 같다.
좌표계평면에서
Figure 112018062343180-pct00129
위치 점은 로봇의 위치, 즉, 현재 위치이고,
Figure 112018062343180-pct00130
위치 점은 목표점의 위치, 즉, 목표위치이고, 투영 영역 P3은 장애물 3D 모델이 좌표계평면에서의 투영이며, 좌표계평면에서
Figure 112018062343180-pct00131
Figure 112018062343180-pct00132
를 연결하면 하나의 직선 J를 획득한다.
직선 J와 투영 영역P3은 교점이 없거나 하나만 있으면 유효 차폐 영역이 없는 것을 결정한다.
직선J와 투영 영역P3은 하나 이상의 교점이 있으면 직선 J는 투영을 두 부분(도4에 도시된 S1영역과 S2영역)으로 분할하고 투영 영역P3(예를 들어, S1이나 S2영역)에서 임의로 한 점 Ps 를 선정하고, Ps 를 거쳐 직선J의 수직선을 그리고, 수직선과 직선J의 교점은
Figure 112018062343180-pct00133
이고, 따라서 벡터
Figure 112018062343180-pct00134
를 획득하고 최소 거리 벡터
Figure 112018062343180-pct00135
와 벡터
Figure 112018062343180-pct00136
의 협각
Figure 112018062343180-pct00137
를 계산하며,
Figure 112018062343180-pct00138
가 예각이면 Ps점이 위치한 영역은 유효 차폐 영역(예를 들어, 도4의 유효 차폐 영역S2)인 것을 결정하고
Figure 112018062343180-pct00139
가 예각이 아니면 Ps점이 위치한 영역은 유효 차폐 영역이 아닌 것을 결정한다.
또한, 상기 제1 미리 설정 유형 장애물 회피 파라미터는 가상 척력이고 상기 제2 미리 설정 유형 장애물 회피 파라미터는 가상 인력이며, 상기 계산한 최소거리 및 유효 차폐 영역의 면적에 따라 제1 미리 설정 유형 장애물 회피 파라미터를 결정하고 목표위치와 로봇의 현재 위치의 거리에 따라 제2 미리 설정 유형 장애물 회피 파라미터를 결정하고 제1 미리 설정 유형 장애물 회피 파라미터와 제2 미리 설정 유형 장애물 회피 파라미터에 따라 로봇이 현재 운동하여야 할 방형을 결정하는 단계는 하기와 같다.
계산한 최소거리와 유효 차폐 영역의 면적에 대하여, 제1계산규칙을 이용하여 로봇에 작용하는 하나의 가상 척력을 계산한다.
현재 포지셔닝 위치와 목표점 위치의 거리에 대하여, 제2계산규칙을 이용하여 로봇에 작용하는 하나의 가상 인력을 계산한다.
이 가상 인력과 가상 척력의 합력방향을 계산하고, 상기 합력방향은 로봇 현재 운동하여야 할 방향이다.
또한, 상기 제1계산규칙은 하기와 같다.
Figure 112018062343180-pct00140
그 중,
Figure 112018062343180-pct00141
는 로봇과 장애물의 최소거리의 벡터이고, S는 유효 차폐 영역의 면적이고,
Figure 112018062343180-pct00142
는 장애물이 로봇에 작용하는 가상 척력이고,
Figure 112018062343180-pct00143
는 최소거리의 벡터와 유효 차폐 영역의 면적은 장애물이 로봇에 작용하는 가상 척력의 관계식으로 변환된다. 이 관계식은 다양한 방법으로 이룰 수 있고 선택이 가능한 일 실시예에서, 이 관계식은 하기와 같다.
Figure 112018062343180-pct00144
그 중, kr, br은 미리 설정된 가상 척력 계수이고,
Figure 112018062343180-pct00145
은 미리 설정된 유효 차폐 영역 면적의 한계값이고
Figure 112018062343180-pct00146
>0,
Figure 112018062343180-pct00147
은 미리 설정된 한계값이고
Figure 112018062343180-pct00148
>0, 가상 척력 방향(즉,
Figure 112018062343180-pct00149
의 방향)과 최소 거리 방향과 같다.
상기 관계식에 따라, 로봇과 장애물의 거리가 멀고 설정된 거리 한계값
Figure 112018062343180-pct00150
을 초과하면 장애물 회피를 하지않고
Figure 112018062343180-pct00151
은 0이며, 장애물 회피 거리 범위 내(최소 거리가
Figure 112018062343180-pct00152
보다 작다)에 진입한 경우, 유효 차폐 영역의 면적S는 크고 설정된
Figure 112018062343180-pct00153
을 초과하면
Figure 112018062343180-pct00154
>1,
Figure 112018062343180-pct00155
이 커지고 멀리 떨어질 때 장애물 회피를 할 수 있고, 조기 장애물 회피하여 큰 장애물을 피한다.
또한, 상기 제2계산규칙은 하기와 같다.
Figure 112018062343180-pct00156
그 중,
Figure 112018062343180-pct00157
는 목표위치가 로봇에 작용하는 가상 인력이고,
Figure 112018062343180-pct00158
는 미리 설정된 인력 계수 이고,
Figure 112018062343180-pct00159
는 목표 위치와 로봇의 현재 포지셔닝 위치의 거리이고 가상 인력방향(즉,
Figure 112018062343180-pct00160
방향)은 목표 위치를 향한다.
본 발명에 따른 컴퓨터 판독 가능한 저장매체의 구체적인 실시방식은 상기 로봇의 장애물 회피 방법의 실시예와 같아 여기서 생략하기로 한다.
본 명세서에 있어서, 용어 "포함하다", "구성하다" 또는 이의 임의 기타 변형은 비 배타성의 포함을 뜻하여 일련의 요소를 포함하는 과정, 방법, 물품 또는 장치는 그런 요소를 포함할 뿐만 아니라 명확하게 열거하지 않은 기타 요소도 포함하거나 이런 과정, 방법, 물품 또는 장치가 고유한 요소를 포함한다. 더 많은 한정이 없는 한 문구 "하나의 …… 포함한다"에 의해 한정된 요소는 이 요소의 과정, 방법, 물품 또는 장치에는 다른 동일한 요소가 존재한다는 것을 배제하지 않다.
본 기술분야의 당업자에게 있어서 상기와 같은 실시방식에 대한 설명을 통해 상기 실시예 방법이 소프트웨어와 필요하고 통용한 하드웨어 플랫폼으로 구현될 수 있으며 몰론 하드웨어를 통해 구현될 수 있지만 대부분의 경우에서 전자가 바람직한 실시방식임은 자명한 것이다. 이런 이해에 기초하여 본 발명의 기술방안 본질적으로 또는 종래 기술에 공헌할 부분은 소프트웨어 상품으로 구현될 수 있고 이 컴퓨터 소프트웨어 상품은 하나의 저장매체(예를 들어, ROM/RAM, 자기 디스크, 광 디스크)에 저장되고 여러 명령을 포함하여 하나의 단말기장치(휴대폰, 컴퓨터, 서버, 네트워크 장비 등)를 통해 본 발명에 따른 각각의 실시예의 방법을 수행한다.
상기와 같은 실시예는 본 발명의 바람직한 실시예로서 본 발명에 대해 한정하고자 하는 것이 아니다. 상기와 같은 본 발명에 따른 실시예의 순번은 설명하기 위한 것일 뿐 실시예의 우열을 가리기 위한 것이 아니다. 또한, 흐름도에서 논리 순서를 나타내지만 어떤 경우에서 여기의 순서와 다르게 상기 도시되거나 설명된 단계를 수행한다.
본 영역의 기술자들은 본 발명의 범위와 실질을 벗지 않고 여러 가지의 변형방안으로 본 발명을 이룰 수 있으며, 예를 들어, 한 실시예의 특징으로서 다른 실시예에 적용되어 또 다른 실시예를 얻을 수 있다. 본 발명의 기술사상에서 임의 수정, 등가치환, 개진은 모두 본 발명의 특허보호범위내에 포함된다.

Claims (20)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 실시간 또는 정해진 시간으로 로봇의 현재 포지셔닝 데이터를 획득하고 현재 포지셔닝 데이터와 미리 결정된 이동 영역에서의 각 장애물의 위치 데이터에 따라 현재 포지셔닝 위치로부터 목표 위치까지의 경로에 미리 설정된 거리보다 짧은 현재 포지셔닝 위치로부터 떨어지는 거리를 가지는 장애물의 유무를 결정하는 단계(A1)와,
    미리 설정된 거리보다 짧은 현재 포지셔닝 위치로부터 떨어지는 거리를 가지는 장애물이 있으면 획득한 포지셔닝 데이터, 미리 결정된 로봇의 3D모델 및 미리 결정된 이 장애물의 3D모델에 따라 로봇과 이 장애물의 최소 거리를 계산하는 단계(A2)와,
    획득한 포지셔닝 데이터, 계산된 최소 거리 및 이 장애물의 3D모델에 따라 현재 로봇이 운동하여야 할 방향을 계산하고 계산된 운동방향에 따라 로봇의 운동자세를 제어하여 장애물을 피하도록 하는 단계(A3)를 포함하며,
    상기 단계(A2)는,
    미리 결정된 로봇의 3D 모델과 이 장애물의 3D 모델을 전처리하며, 로봇의 각 관절에 대해, 미리 결정된 알고리즘을 이용하여 각 관절을 둘러싸는 최소의 볼록 다면체를 찾아 로봇의 비 볼록 모델을 볼록 모델로 변환하는 단계와,
    이 장애물 3D 모델에 대해 선형 평균화하고 평균화된 단일의 선형에 대해 볼록 분해를 하는 단계와,
    획득한 포지셔닝 데이터, 전처리된 로봇 3D 모델 데이터 및 전처리된 상기 장애물 3D 모델 데이터에 대해, 미리 결정된 거리 계산 규칙에 의해 로봇과 상기 장애물의 최소 거리를 계산하는 단계를 포함하는 것을 특징으로 하는 로봇의 장애물 회피 방법.
  11. 삭제
  12. 제10항에 있어서,
    상기 단계(A2)는,
    선형 평균화할 장애물 3D 모델의 구형 바운딩 박스를 구축하고 구형 바운딩 박스의 구심을 찾는 단계와,
    상기 구심을 거치는 초기 선형 평균화 평면을 설정하고 상기 초기 선형 평균화 평면을 미리 설정된 회전각에 따라 상기 구심을 둘러싸고 여러 차례 회전하여 구형 바운딩 박스를 n개의 선형부분으로 평균으로 분할하며, 상기 구형 바운딩 박스의 n개의 선형부분은 장애물 3D 모델의 n개의 모델 부분으로 하는 단계를 포함하는 것을 특징으로 하는 로봇의 장애물 회피 방법.
  13. 제10항에 있어서,
    상기 미리 결정된 거리 계산 규칙은,
    로봇의 현재 포지셔닝 데이터와 미리 결정된 선별 알고리즘에 따라 장애물 3D 모델을 선형 평균화한 후 획득한 각 모델에 대해 부분적으로 선별하여 거리 계산할 모델 부분을 선별하며,
    획득한 포지셔닝 데이터, 선별된 모델 부분에 대해, 미리 결정된 거리계산 알고리즘에 의해 로봇과 선별된 모듈 부분의 최소 거리를 계산하며 이 최소 거리는 로봇과 장애물의 최소 거리이고,
    상기 미리 결정된 선별 알고리즘은,
    장애물 3D 모델의 n개의 모델 부분을 장애물의 n개의 노드로 하여 키값(key-value)이 초기 선형 평균화 평면의 편각에 대한 해시 테이블을 구축하여, 모델 노드 관리를 하며,
    각 모델 부분에 부호를 부여하고, 부호에 따라 부호가 i인 선형 모델 부분과의 편각 맵핑관계를 구축하고 상기 편각 맵핑관계를 표시하는 해시 함수는
    Figure 112020033521415-pct00200
    이고,
    그 중,
    Figure 112020033521415-pct00201
    는 부호가 i인 선형 모델 부분과 장애물 좌표계의 X축 정축의 편각이며,
    로봇의 운동학 방정을 구축하고, 구축한 운동학 방정에 따라 로봇 각 관절의 자세를 계산하며, 상기 운동학 방정은
    Figure 112020033521415-pct00202
    이고,
    그 중,
    Figure 112020033521415-pct00203
    (k=1,2,...,i)는 로봇 관절좌표계 사이의 동차변환행렬이고,
    Figure 112020033521415-pct00204
    는 로봇의 현재 위치 행렬이고
    Figure 112020033521415-pct00205
    는 i 번째 관절이 로봇 좌표계에 대한 위치 및 자세이며,
    Figure 112020033521415-pct00206
    계산을 통해 로봇 운동과정 중에서 각 관절이 로봇 좌표계에서의 좌표
    Figure 112020033521415-pct00207
    를 계산하고, 로봇 좌표계가 장애물 좌표계로 변환되는 변환행렬
    Figure 112020033521415-pct00208
    을 계산하면, 로봇 관절이 장애물 좌표계에서의 좌표
    Figure 112020033521415-pct00209

    Figure 112020033521415-pct00210
    이고
    하기 수식에 따라 관절이 장애물 좌표계에서의 편각
    Figure 112020033521415-pct00211

    Figure 112020033521415-pct00212
    을 획득하며
    편각
    Figure 112020033521415-pct00213
    및 해시 함수
    Figure 112020033521415-pct00214
    에 따라 대응 부호의 모델 부분을 계산하고, 대응 부호의 모델 부분에 기초하여 거리계산할 모델 부분을 선별하는 것을 특징으로 하는 로봇의 장애물 회피 방법.
  14. 제10항에 있어서,
    상기 단계(A3)는,
    로봇과 이 장애물 3D 모델을 같은 좌표계 평면으로 투영하며,
    미리 결정된 투영 분석규칙 및 장애물 3D 모델이 상기 좌표계 평면으로 투영된 투영 영역 테두리의 각 점의 좌표에 따라 이 장애물 3D 모델의 투영이 로봇의 현재 포지셔닝 위치와 목표 위치에 대한 유효 차폐 영역의 면적을 계산하며,
    계산한 최소 거리 및 유효 차폐 영역의 면적에 따라 제1 미리 설정 유형 장애물 회피 파라미터를 결정하고, 목표 위치와 로봇의 현재 포지셔닝 위치의 거리에 따라 제2 미리 설정 유형 장애물 회피 파라미터를 결정하고, 상기 제1 미리 설정 유형 장애물 회피 파라미터와 상기 제2 미리 설정 유형 장애물 회피 파라미터에 따라 로봇의 현재 운동하여야 할 방향을 결정하는 것을 특징으로 하는 로봇의 장애물 회피 방법.
  15. 제14항에 있어서,
    상기 미리 결정된 투영 분석 규칙은,
    좌표계평면에서
    Figure 112018062343180-pct00215
    위치 점은 로봇의 현재 포지셔닝 위치이고
    Figure 112018062343180-pct00216
    위치 점은 목표 위치인 것을 가정하며, 투영 영역 P3은 장애물 3D 모델이 상기 좌표계평면에서의 투영이며, 상기 좌표계평면에서
    Figure 112018062343180-pct00217
    Figure 112018062343180-pct00218
    를 연결하면 하나의 직선 J를 획득하며,
    직선 J와 투영 영역P3은 교점이 없거나 하나만 있으면 유효 차폐 영역이 없는 것을 결정하며,
    직선 J와 투영 영역P3은 하나보다 많은 교점이 있으면 직선 J는 투영을 두 부분으로 분할하고 투영 영역P3에서 임의로 한 점Ps 를 선정하고, Ps 를 거쳐 직선J의 수직선을 그리고, 수직선과 직선J의 교점은
    Figure 112018062343180-pct00219
    이고, 따라서 벡터
    Figure 112018062343180-pct00220
    를 획득하고 최소 거리 벡터
    Figure 112018062343180-pct00221
    와 벡터
    Figure 112018062343180-pct00222
    의 협각
    Figure 112018062343180-pct00223
    를 계산하며, 협각
    Figure 112018062343180-pct00224
    가 예각이면 Ps점이 위치한 영역은 유효 차폐 영역인 것을 결정하고, 협각
    Figure 112018062343180-pct00225
    가 예각이 아니면 Ps점이 위치한 영역은 유효 차폐 영역이 아닌 것을 결정하도록 하는 것을 특징으로 하는 로봇의 장애물 회피 방법.
  16. 제14항에 있어서,
    상기 제1 미리 설정 유형 장애물 회피 파라미터는 가상 척력이고 상기 제2 미리 설정 유형 장애물 회피 파라미터는 가상 인력이며, 상기 단계(A3)는,
    상기 계산한 최소거리 및 유효 차폐 영역의 면적에 따라 제1계산규칙을 이용하여 로봇에 작용하는 가상 척력을 계산하는 단계와,
    현재 포지셔닝 위치와 목표점 위치의 거리에 따라, 제2계산규칙을 이용하여 로봇에 작용하는 가상 인력을 계산하는 단계와,
    이 가상 인력과 가상 척력의 합력방향을 계산하고, 로봇 현재 운동하여야 할 방향으로 하는 단계를 더 포함하는 것을 특징으로 하는 로봇의 장애물 회피 방법.
  17. 제16항에 있어서,
    상기 제1계산규칙은,
    로봇과 장애물의 최소거리의 벡터는
    Figure 112018062343180-pct00226
    이고, 유효 차폐 영역의 면적은 S이고, 장애물이 로봇에 작용하는 가상 척력은
    Figure 112018062343180-pct00227
    인 것을 가정하며, 계산 수식은
    Figure 112018062343180-pct00228
    이고,
    그 중,
    Figure 112018062343180-pct00229
    는 로봇과 장애물의 최소거리의 벡터이고, S는 유효 차폐 영역의 면적이고,
    Figure 112018062343180-pct00230
    는 장애물이 로봇에 작용하는 가상 척력이고, kr, br은 미리 설정된 가상 척력 계수이고,
    Figure 112018062343180-pct00231
    은 미리 설정된 유효 차폐 영역 면적의 한계값이고,
    Figure 112018062343180-pct00232
    은 미리 설정된 한계값이고,
    Figure 112018062343180-pct00233
    방향은 최소 거리 방향과 같은 것을 특징으로 하는 로봇의 장애물 회피 방법.
  18. 제16항에 있어서,
    상기 제2계산규칙은
    Figure 112018062343180-pct00234
    이고,
    그 중,
    Figure 112018062343180-pct00235
    는 목표위치가 로봇에 작용하는 가상 인력이고,
    Figure 112018062343180-pct00236
    는 미리 설정된 인력 계수 이고,
    Figure 112018062343180-pct00237
    는 목표 위치와 로봇의 현재 포지셔닝 위치의 거리이고
    Figure 112018062343180-pct00238
    방향은 목표 위치를 향하는 것을 특징으로 하는 로봇의 장애물 회피 방법.
  19. 프로세서와 메모리를 포함하고, 상기 메모리에는 로봇의 장애물 회피 제어 시스템이 저장되고, 이 로봇의 장애물 회피 제어 시스템은 프로세서에 의해 제10항, 제12항 내지 제18항 중 어느 한 항에 따른 로봇의 장애물 회피 방법의 어느 한 단계를 실행하는 것을 특징으로 하는 로봇.
  20. 로봇의 장애물 회피 제어 시스템이 저장되고, 이 로봇의 장애물 회피 제어 시스템은 적어도 하나의 프로세서에 의해 제10항, 제12항 내지 제18항 중 어느 한 항에 따른 로봇의 장애물 회피 방법의 어느 한 단계를 실행하는 것을 특징으로 하는 컴퓨터 판독 가능한 저장매체.
KR1020187018065A 2017-03-27 2017-06-30 로봇의 장애물 회피 제어 시스템, 방법, 로봇 및 저장매체 KR102170928B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201710186581.6 2017-03-27
CN201710186581.6A CN107688342B (zh) 2017-03-27 2017-03-27 机器人的避障控制系统及方法
PCT/CN2017/091368 WO2018176668A1 (zh) 2017-03-27 2017-06-30 机器人的避障控制系统、方法、机器人及存储介质

Publications (2)

Publication Number Publication Date
KR20190022435A KR20190022435A (ko) 2019-03-06
KR102170928B1 true KR102170928B1 (ko) 2020-10-29

Family

ID=61152364

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187018065A KR102170928B1 (ko) 2017-03-27 2017-06-30 로봇의 장애물 회피 제어 시스템, 방법, 로봇 및 저장매체

Country Status (9)

Country Link
US (1) US11059174B2 (ko)
EP (1) EP3410246B1 (ko)
JP (1) JP6716178B2 (ko)
KR (1) KR102170928B1 (ko)
CN (1) CN107688342B (ko)
AU (1) AU2017404562B2 (ko)
SG (1) SG11201809892QA (ko)
TW (1) TWI662388B (ko)
WO (1) WO2018176668A1 (ko)

Families Citing this family (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108717302B (zh) * 2018-05-14 2021-06-25 平安科技(深圳)有限公司 机器人跟随人物方法、装置及存储介质、机器人
CN109461185B (zh) * 2018-09-10 2021-08-17 西北工业大学 一种适用于复杂场景的机器人目标主动避障方法
CN109465835A (zh) * 2018-09-25 2019-03-15 华中科技大学 一种动态环境下双臂服务机器人作业的事前安全预测方法
TWI721324B (zh) * 2018-10-10 2021-03-11 鴻海精密工業股份有限公司 電子裝置及立體物體的判斷方法
CN109284574B (zh) * 2018-10-25 2022-12-09 西安科技大学 一种串联桁架结构体系非概率可靠性分析方法
KR102190101B1 (ko) * 2019-03-08 2020-12-11 (주)아이로텍 로봇의 장애물 충돌 회피를 위한 경로 안내툴 표시 방법 및 이를 이용한 충돌 회피 시뮬레이션 시스템
CN110442126A (zh) * 2019-07-15 2019-11-12 北京三快在线科技有限公司 一种移动机器人及其避障方法
CN110390829A (zh) * 2019-07-30 2019-10-29 北京百度网讯科技有限公司 交通信号灯识别的方法及装置
CN112445209A (zh) * 2019-08-15 2021-03-05 纳恩博(北京)科技有限公司 机器人的控制方法和机器人、存储介质及电子装置
CN111046743B (zh) * 2019-11-21 2023-05-05 新奇点智能科技集团有限公司 一种障碍物信息标注方法、装置、电子设备和存储介质
CN111207750A (zh) * 2019-12-31 2020-05-29 合肥赛为智能有限公司 一种机器人动态路径规划方法
CN111168675B (zh) * 2020-01-08 2021-09-03 北京航空航天大学 一种家用服务机器人的机械臂动态避障运动规划方法
CN111449666B (zh) * 2020-03-09 2023-07-04 北京东软医疗设备有限公司 距离监测方法、装置、血管机、电子设备及存储介质
JP2021146905A (ja) * 2020-03-19 2021-09-27 本田技研工業株式会社 制御装置、制御方法およびプログラム
CN111571582B (zh) * 2020-04-02 2023-02-28 上海钧控机器人有限公司 一种艾灸机器人人机安全监控系统及监控方法
CN111427355B (zh) * 2020-04-13 2023-05-02 京东科技信息技术有限公司 障碍物数据处理方法、装置、设备及存储介质
JP7447670B2 (ja) * 2020-05-15 2024-03-12 トヨタ自動車株式会社 自律移動装置制御システム、その制御方法及びその制御プログラム
US11292132B2 (en) * 2020-05-26 2022-04-05 Edda Technology, Inc. Robot path planning method with static and dynamic collision avoidance in an uncertain environment
CN111857126A (zh) * 2020-05-29 2020-10-30 深圳市银星智能科技股份有限公司 一种机器人避障方法、机器人以及存储介质
CN111958590B (zh) * 2020-07-20 2021-09-28 佛山科学技术学院 一种复杂三维环境中机械臂防碰撞方法及系统
CN112148013A (zh) * 2020-09-25 2020-12-29 深圳优地科技有限公司 机器人避障方法、机器人及存储介质
CN112415532B (zh) * 2020-11-30 2022-10-21 上海炬佑智能科技有限公司 灰尘检测方法、距离检测装置以及电子设备
CN112704878B (zh) * 2020-12-31 2023-04-18 深圳市乙亥互娱信息科技有限公司 集群游戏中的单位位置调整方法、系统、设备及存储介质
CN112991527B (zh) * 2021-02-08 2022-04-19 追觅创新科技(苏州)有限公司 目标对象的躲避方法及装置、存储介质、电子装置
CN113119109A (zh) * 2021-03-16 2021-07-16 上海交通大学 基于伪距离函数的工业机器人路径规划方法和系统
CN113110594B (zh) * 2021-05-08 2022-05-17 北京三快在线科技有限公司 控制无人机避障的方法、装置、存储介质及无人机
CN113282984A (zh) * 2021-05-21 2021-08-20 长安大学 一种公共场所人员应急疏散模拟方法
CN113459090A (zh) * 2021-06-15 2021-10-01 中国农业大学 码垛机器人的智能避障方法、电子设备及介质
US11753045B2 (en) * 2021-06-22 2023-09-12 Waymo Llc Modeling positional uncertainty of moving objects using precomputed polygons
CN113601497B (zh) * 2021-07-09 2024-02-06 广东博智林机器人有限公司 一种方法、装置、机器人及存储介质
CN113752265B (zh) * 2021-10-13 2024-01-05 国网山西省电力公司超高压变电分公司 一种机械臂避障路径规划方法、系统及装置
KR102563074B1 (ko) * 2021-10-20 2023-08-02 금오공과대학교 산학협력단 차동 구동형 이동로봇의 운동역학을 고려한 장애물 회피 및 경로 추종방법
CN114035569B (zh) * 2021-11-09 2023-06-27 中国民航大学 一种航站楼载人机器人路径拓展通行方法
CN114161047B (zh) * 2021-12-23 2022-11-18 南京衍构科技有限公司 一种用于增材制造的焊枪头自动避障方法
CN114355914B (zh) * 2021-12-27 2022-07-01 盐城工学院 用于无人船的自主巡航系统及控制方法
CN114227694B (zh) * 2022-01-10 2024-05-03 珠海一微半导体股份有限公司 一种基于地插检测的机器人控制方法、芯片及机器人
CN114859904B (zh) * 2022-04-24 2023-04-07 汕头大学 一种基于e-grn的集群围捕方法、执行装置和系统
CN114859914B (zh) * 2022-05-09 2023-04-07 广东利元亨智能装备股份有限公司 障碍物检测方法、装置、设备及存储介质
CN115202350B (zh) * 2022-07-15 2023-06-09 盐城工学院 一种agv小车的自动运输系统
CN115437388B (zh) * 2022-11-09 2023-01-24 成都朴为科技有限公司 一种全向移动机器人脱困方法和装置
CN115507857B (zh) * 2022-11-23 2023-03-14 常州唯实智能物联创新中心有限公司 高效机器人运动路径规划方法及系统
CN115890676A (zh) * 2022-11-28 2023-04-04 深圳优地科技有限公司 机器人控制方法、机器人及存储介质
CN116755562B (zh) * 2023-07-04 2024-04-05 深圳市仙瞬科技有限公司 一种避障方法、装置、介质及ar/vr设备
CN117093005B (zh) * 2023-10-16 2024-01-30 华东交通大学 一种智能汽车自主避障方法
CN117207202B (zh) * 2023-11-09 2024-04-02 国网山东省电力公司东营供电公司 带电作业机器人防碰撞约束控制方法、系统、终端及介质
CN117406758B (zh) * 2023-12-14 2024-03-12 双擎科技(杭州)有限公司 一种机器人避障装置及机器人智能防碰系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008031664A1 (en) * 2006-09-14 2008-03-20 Abb Research Ltd. A method and a device for avoiding collisions between an industrial robot and an object
JP2014018912A (ja) * 2012-07-18 2014-02-03 Seiko Epson Corp ロボット制御装置、ロボット制御方法およびロボット制御プログラムならびにロボットシステム

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7164117B2 (en) * 1992-05-05 2007-01-16 Automotive Technologies International, Inc. Vehicular restraint system control system and method using multiple optical imagers
JP3425760B2 (ja) * 1999-01-07 2003-07-14 富士通株式会社 干渉チェック装置
US7734387B1 (en) * 2006-03-31 2010-06-08 Rockwell Collins, Inc. Motion planner for unmanned ground vehicles traversing at high speeds in partially known environments
US8840838B2 (en) * 2011-09-25 2014-09-23 Theranos, Inc. Centrifuge configurations
JP2014056506A (ja) * 2012-09-13 2014-03-27 Toyota Central R&D Labs Inc 障害物検出装置及びそれを備えた移動体
US9227323B1 (en) 2013-03-15 2016-01-05 Google Inc. Methods and systems for recognizing machine-readable information on three-dimensional objects
US20150202770A1 (en) * 2014-01-17 2015-07-23 Anthony Patron Sidewalk messaging of an autonomous robot
TWI555524B (zh) 2014-04-30 2016-11-01 國立交通大學 機器人的行動輔助系統
US9454151B2 (en) * 2014-05-20 2016-09-27 Verizon Patent And Licensing Inc. User interfaces for selecting unmanned aerial vehicles and mission plans for unmanned aerial vehicles
KR101664575B1 (ko) * 2014-11-07 2016-10-10 재단법인대구경북과학기술원 모바일 로봇의 장애물 회피 시스템 및 방법
US10586464B2 (en) * 2015-07-29 2020-03-10 Warren F. LeBlanc Unmanned aerial vehicles
CN106227218A (zh) * 2016-09-27 2016-12-14 深圳乐行天下科技有限公司 一种智能移动设备的导航避障方法及装置
CN106406312B (zh) 2016-10-14 2017-12-26 平安科技(深圳)有限公司 导览机器人及其移动区域标定方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008031664A1 (en) * 2006-09-14 2008-03-20 Abb Research Ltd. A method and a device for avoiding collisions between an industrial robot and an object
JP2014018912A (ja) * 2012-07-18 2014-02-03 Seiko Epson Corp ロボット制御装置、ロボット制御方法およびロボット制御プログラムならびにロボットシステム

Also Published As

Publication number Publication date
SG11201809892QA (en) 2018-12-28
JP6716178B2 (ja) 2020-07-01
CN107688342B (zh) 2019-05-10
EP3410246B1 (en) 2021-06-23
AU2017404562B2 (en) 2020-01-30
US20210078173A1 (en) 2021-03-18
US11059174B2 (en) 2021-07-13
KR20190022435A (ko) 2019-03-06
EP3410246A4 (en) 2019-11-06
TWI662388B (zh) 2019-06-11
CN107688342A (zh) 2018-02-13
WO2018176668A1 (zh) 2018-10-04
TW201835703A (zh) 2018-10-01
JP2019516146A (ja) 2019-06-13
AU2017404562A1 (en) 2018-10-11
EP3410246A1 (en) 2018-12-05

Similar Documents

Publication Publication Date Title
KR102170928B1 (ko) 로봇의 장애물 회피 제어 시스템, 방법, 로봇 및 저장매체
AU2018271237B2 (en) Method for building a map of probability of one of absence and presence of obstacles for an autonomous robot
US20210162599A1 (en) Robot navigation using 2d and 3d path planning
US11119498B2 (en) Systems and methods for simulation utilizing a segmentable monolithic mesh
KR20120045929A (ko) 로봇의 리로케이션 장치 및 방법
Mo et al. Terra: A smart and sensible digital twin framework for robust robot deployment in challenging environments
Nescher et al. Simultaneous mapping and redirected walking for ad hoc free walking in virtual environments
CN112008718B (zh) 一种机器人控制方法、系统、存储介质及智能机器人
US10565786B1 (en) Sensor placement interface
CN112052847B (zh) 图像处理方法、装置、电子设备和计算机可读存储介质
Cervenak et al. ARKit as indoor positioning system
Finean et al. Simultaneous scene reconstruction and whole-body motion planning for safe operation in dynamic environments
WO2022127572A1 (zh) 机器人三维地图位姿显示方法、装置、设备及存储介质
De Silva et al. Comparative analysis of octomap and rtabmap for multi-robot disaster site mapping
KR20210042273A (ko) 3차원 모델링 방법 및 장치
Ortega et al. A solution to the path planning problem using angle preprocessing
CN115468556A (zh) 更新虚拟墙的方法、装置、电子设备和存储介质
CN111475026A (zh) 一种基于移动终端应用增强虚拟现实技术的空间定位方法
Moldovan et al. On the development of a voice and gesture based HMI for the control of a mobile robot
US11216005B1 (en) Generating a point cloud capture plan
US20220012379A1 (en) Systems and methods for modelling interactions of physical assets within a workspace
Soukal et al. Surface point location by walking algorithm for haptic visualization of triangulated 3D models
Operator LiDAR Based System for Tracking Loader

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant