KR102621569B1 - 로봇을 제어하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체 - Google Patents

로봇을 제어하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체 Download PDF

Info

Publication number
KR102621569B1
KR102621569B1 KR1020210174302A KR20210174302A KR102621569B1 KR 102621569 B1 KR102621569 B1 KR 102621569B1 KR 1020210174302 A KR1020210174302 A KR 1020210174302A KR 20210174302 A KR20210174302 A KR 20210174302A KR 102621569 B1 KR102621569 B1 KR 102621569B1
Authority
KR
South Korea
Prior art keywords
robot
camera module
specified
comparison target
target area
Prior art date
Application number
KR1020210174302A
Other languages
English (en)
Other versions
KR20230070989A (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 KR20230070989A publication Critical patent/KR20230070989A/ko
Application granted granted Critical
Publication of KR102621569B1 publication Critical patent/KR102621569B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1615Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
    • B25J9/162Mobile manipulator, movable base with manipulator arm mounted on it
    • 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/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/022Optical sensing devices using lasers
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/02Sensing devices
    • B25J19/021Optical sensing devices
    • B25J19/023Optical sensing devices including video camera means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J5/00Manipulators mounted on wheels or on carriages
    • B25J5/007Manipulators mounted on wheels or on carriages mounted on wheels
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/86Combinations of lidar systems with systems other than lidar, radar or sonar, e.g. with direction finders
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S17/00Systems using the reflection or reradiation of electromagnetic waves other than radio waves, e.g. lidar systems
    • G01S17/88Lidar systems specially adapted for specific applications
    • G01S17/93Lidar systems specially adapted for specific applications for anti-collision purposes
    • G01S17/931Lidar systems specially adapted for specific applications for anti-collision purposes of land vehicles
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/003Transmission of data between radar, sonar or lidar systems and remote stations
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S7/00Details of systems according to groups G01S13/00, G01S15/00, G01S17/00
    • G01S7/48Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00
    • G01S7/4802Details of systems according to groups G01S13/00, G01S15/00, G01S17/00 of systems according to group G01S17/00 using analysis of echo signal for target characterisation; Target signature; Target cross-section
    • 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/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing 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/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0272Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising means for registering the travel distance, e.g. revolutions of wheels
    • 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/20Control system inputs
    • G05D1/24Arrangements for determining position or orientation
    • G05D1/243Means capturing signals occurring naturally from the environment, e.g. ambient optical, acoustic, gravitational or magnetic signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/80Geometric correction
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/50Machine tool, machine tool null till machine tool work handling
    • G05B2219/50393Floor conveyor, AGV automatic guided vehicle
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2105/00Specific applications of the controlled vehicles
    • G05D2105/30Specific applications of the controlled vehicles for social or care-giving applications
    • G05D2105/31Specific applications of the controlled vehicles for social or care-giving applications for attending to humans or animals, e.g. in health care environments
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2107/00Specific environments of the controlled vehicles
    • G05D2107/60Open buildings, e.g. offices, hospitals, shopping areas or universities
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2109/00Types of controlled vehicles
    • G05D2109/10Land vehicles
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D2111/00Details of signals used for control of position, course, altitude or attitude of land, water, air or space vehicles
    • G05D2111/10Optical signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Automation & Control Theory (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Electromagnetism (AREA)
  • Optics & Photonics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Orthopedic Medicine & Surgery (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Manipulator (AREA)
  • Geometry (AREA)

Abstract

본 발명의 일 태양에 따르면, 로봇을 제어하기 위한 방법으로서, 로봇의 카메라 모듈에 의해 특정되는 제1 타겟 영역을 참조하여 제1 비교 대상 축을 결정하고, 상기 로봇의 스캐너 모듈에 의해 특정되고 상기 제1 타겟 영역과 연관되는 제2 타겟 영역을 참조하여 제2 비교 대상 축을 결정하는 단계, 및 상기 제1 비교 대상 축 및 상기 제2 비교 대상 축 사이의 관계를 참조하여 상기 카메라 모듈과 연관되는 기준 좌표계를 보정하는 단계를 포함하는 방법이 제공된다.

Description

로봇을 제어하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체{METHOD, SYSTEM, AND NON-TRANSITORY COMPUTER-READABLE RECORDING MEDIUM FOR CONTROLLING A ROBOT}
본 발명은 로봇을 제어하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체에 관한 것이다.
로봇은 어려운 작업이나 반복적인 조작 등을 자동화하여 수행할 수 있기 때문에, 다양한 분야에서 인간을 대신하거나 보조하는데 활용되고 있다. 근래에 들어, 로봇을 운용하는 과정에서 발생되는 오차나 에러를 보정하기 위한 기술에 대하여 다양한 연구가 진행되고 있다.
이에 관한 종래 기술의 일 예로서, 한국 등록특허공보 제10-0914211호에 개시된 기술을 예로 들 수 있는데, 이에 따르면, 카메라를 통해 촬영된 복수의 정방형 격자 무늬를 가지는 보정 지표에 대한 2차원의 보정 지표 이미지를 수신하고, 상기 보정 지표 이미지로부터 상기 격자 무늬 사이의 꼭지점 좌표 정보 및 꼭지점 연결 정보를 포함하는 복수의 특징 데이터를 추출하며, 상기 복수의 특징 데이터의 좌표 정보를 이용하여 왜곡 보정 알고리즘을 구성하는 왜곡 보정 계수를 산출하고, 상기 산출된 계수를 이용하여 보정 파일을 생성하는 단계를 포함하는 왜곡 영상 보정 방법이 소개된 바 있다.
하지만, 위와 같은 종래 기술을 비롯하여 지금까지 소개된 기술은 로봇에 의해 획득되는 영상 정보나 센싱 정보의 품질을 개선하는 방안에 대하여 주로 관심이 있을 뿐이었고, 영상 정보나 센싱 정보를 획득하는 하드웨어 모듈(예를 들어, 카메라 모듈, 스캐너 모듈 등)을 조립 또는 설치하는 과정에서 발생하는 오류, 환경적인 요인(예를 들어, 온도)에 의해 그러한 하드웨어 모듈에서 발생하는 오류 등을 개선하는 방안에 대하여는 관심이 없었다.
일반적으로, 로봇에는 3차원 좌표계를 기반으로 하는 다양한 하드웨어 모듈들이 존재하고 그 모듈들 간에 연동이 이루어지게 되는데, 그러한 하드웨어 모듈들 중 예를 들어 카메라 모듈이 정해진 위치(또는 방향)가 아닌 다른 위치(또는 방향)에 설치되는 경우에, 카메라 모듈의 좌표계와 다른 하드웨어 모듈, 예를 들어 스캐너 모듈의 좌표계 간의 정합 또는 연동과 관련된 문제가 발생하여 로봇의 오작동을 일으키는 주요 원인이 될 수 있다. 또한, 야외에서 운용되는 로봇의 경우에는 햇빛 등으로 인해 로봇에 설치된 카메라 모듈(예를 들어, 3차원 카메라 모듈)의 온도가 높아지게 되면, 롤(roll) 방향과 관련된 인식 에러가 발생하는 문제(구체적으로, 온도가 올라갈수록 롤 방향을 기준으로 지표면과의 각도 차이가 커지는 문제)가 있었다. 또한, 로봇에 설치된 이동 모듈과 관련된 상태(예를 들어, 휠의 마모, 휠 베이스의 길이 변화, 바닥 상태 등)로 인해 로봇이 원하는 거리만큼 이동하지 못하거나 원하는 각도만큼 회전이 되지 않는 경우가 발생하였다.
이에, 본 발명자(들)은, 로봇의 하드웨어 모듈, 구체적으로는 카메라 모듈이나 이동 모듈과 연관되는 에러를 정교하게 보정할 수 있는 신규하고도 진보된 기술을 제안하는 바이다.
본 발명은, 전술한 종래 기술의 문제점을 모두 해결하는 것을 그 목적으로 한다.
또한, 본 발명은, 카메라 모듈(예를 들어, 3차원 카메라)에 의해 결정되는 비교 대상 축과 스캐너 모듈(예를 들어, 라이다(LIDAR) 센서)에 의해 결정되는 비교 대상 축 사이의 관계를 참조하여 카메라 모듈과 연관되는 기준 좌표계를 보정함으로써, 카메라 모듈의 설치 위치 또는 설치 방향에 따른 에러를 보정하는 것을 그 목적으로 한다.
또한, 본 발명은, 로봇이 위치한 바닥면과 카메라 모듈에 의해 특정되는 기준면 사이의 관계를 참조하여 카메라 모듈과 연관되는 기준 좌표계를 보정함으로써, 온도 증가로 인해 발생하는 에러(구체적으로, 롤 방향의 에러)를 보정하는 것을 그 목적으로 한다.
또한, 본 발명은, 로봇의 스캐너 모듈에 의해 특정되는 소정 지점을 기준으로 로봇의 이동 속성 정보(예를 들어, 휠의 크기, 휠 베이스의 길이 등)를 보정하여, 로봇의 실제 이동 거리와 로봇의 기록된 이동 거리(예를 들어, 로봇의 주행 기록계(odometer)에 의해 측정되는 거리) 사이의 차이 또는 로봇의 실제 회전 각도와 로봇의 기록된 회전 각도(예를 들어, 로봇의 주행 기록계에 의해 측정되는 회전 각도) 사이의 차이를 보정하는 것을 또 다른 목적으로 한다.
상기 목적을 달성하기 위한 본 발명의 대표적인 구성은 다음과 같다.
본 발명의 일 태양에 따르면, 로봇을 제어하기 위한 방법으로서, 로봇의 카메라 모듈에 의해 특정되는 제1 타겟 영역을 참조하여 제1 비교 대상 축을 결정하고, 상기 로봇의 스캐너 모듈에 의해 특정되고 상기 제1 타겟 영역과 연관되는 제2 타겟 영역을 참조하여 제2 비교 대상 축을 결정하는 단계, 및 상기 제1 비교 대상 축 및 상기 제2 비교 대상 축 사이의 관계를 참조하여 상기 카메라 모듈과 연관되는 기준 좌표계를 보정하는 단계를 포함하는 방법이 제공된다.
본 발명의 다른 태양에 따르면, 로봇을 제어하기 위한 시스템으로서, 로봇의 카메라 모듈에 의해 특정되는 제1 타겟 영역을 참조하여 제1 비교 대상 축을 결정하고, 상기 로봇의 스캐너 모듈에 의해 특정되고 상기 제1 타겟 영역과 연관되는 제2 타겟 영역을 참조하여 제2 비교 대상 축을 결정하는 비교 대상 축 결정부, 및 상기 제1 비교 대상 축 및 상기 제2 비교 대상 축 사이의 관계를 참조하여 상기 카메라 모듈과 연관되는 기준 좌표계를 보정하는 보정부를 포함하는 시스템이 제공된다.
이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록한 비일시성의 컴퓨터 판독 가능한 기록 매체가 더 제공된다.
본 발명에 의하면, 카메라 모듈(예를 들어, 3차원 카메라)에 의해 결정되는 비교 대상 축과 스캐너 모듈(예를 들어, 라이다(LIDAR) 센서)에 의해 결정되는 비교 대상 축 사이의 관계를 참조하여 카메라 모듈과 연관되는 기준 좌표계를 보정함으로써, 카메라 모듈의 설치 위치 또는 설치 방향에 따른 에러를 보정할 수 있다.
또한, 본 발명에 의하면, 로봇이 위치한 바닥면과 카메라 모듈에 의해 특정되는 기준면 사이의 관계를 참조하여 카메라 모듈과 연관되는 기준 좌표계를 보정함으로써, 온도 증가로 인해 발생하는 에러(구체적으로, 롤 방향의 에러)를 보정할 수 있다.
또한, 본 발명에 의하면, 로봇의 스캐너 모듈에 의해 특정되는 소정 지점을 기준으로 로봇의 이동 속성 정보(예를 들어, 휠의 크기, 휠 베이스의 길이 등)를 보정하여, 로봇의 실제 이동 거리와 로봇의 기록된 이동 거리(예를 들어, 로봇의 주행 기록계에 의해 측정되는 거리) 사이의 차이 또는 로봇의 실제 회전 각도와 로봇의 기록된 회전 각도(예를 들어, 로봇의 주행 기록계에 의해 측정되는 회전 각도) 사이의 차이를 보정할 수 있다.
도 1은 본 발명의 일 실시예에 따라 로봇을 제어하기 위한 전체 시스템의 구성을 개략적으로 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 보정 시스템의 내부 구성을 예시적으로 나타내는 도면이다.
도 3 내지 도 6은 본 발명의 일 실시예에 따라 로봇의 카메라 모듈과 연관되는 기준 좌표계를 보정하는 과정을 예시적으로 나타내는 도면이다.
도 7는 본 발명의 일 실시예에 따라 로봇의 이동 속성 정보를 보정하는 과정을 예시적으로 나타내는 도면이다.
도 8 및 도 9는 본 발명의 일 실시예에 따른 로봇의 구조를 예시적으로 나타내는 도면이다.
후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이러한 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 본 명세서에 기재되어 있는 특정 형상, 구조 및 특성은 본 발명의 정신과 범위를 벗어나지 않으면서 일 실시예로부터 다른 실시예로 변경되어 구현될 수 있다. 또한, 각각의 실시예 내의 개별 구성요소의 위치 또는 배치도 본 발명의 정신과 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 행하여지는 것이 아니며, 본 발명의 범위는 특허청구범위의 청구항들이 청구하는 범위 및 그와 균등한 모든 범위를 포괄하는 것으로 받아들여져야 한다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 구성요소를 나타낸다.
이하에서는, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 여러 바람직한 실시예에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.
전체 시스템의 구성
도 1은 본 발명의 일 실시예에 따라 로봇을 제어하기 위한 전체 시스템의 구성을 개략적으로 나타내는 도면이다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 전체 시스템은 통신망(100), 보정 시스템(200) 및 로봇(300)을 포함할 수 있다.
먼저, 본 발명의 일 실시예에 따르면, 통신망(100)은 유선 통신이나 무선 통신과 같은 통신 양태를 가리지 않고 구성될 수 있으며, 근거리 통신망(LAN; Local Area Network), 도시권 통신망(MAN; Metropolitan Area Network), 광역 통신망(WAN; Wide Area Network) 등 다양한 통신망으로 구성될 수 있다. 바람직하게는, 본 명세서에서 말하는 통신망(100)은 공지의 인터넷 또는 월드와이드웹(WWW; World Wide Web)일 수 있다. 그러나, 통신망(100)은, 굳이 이에 국한될 필요 없이, 공지의 유무선 데이터 통신망, 공지의 전화망, 또는 공지의 유무선 텔레비전 통신망을 그 적어도 일부에 있어서 포함할 수도 있다.
예를 들면, 통신망(100)은 무선 데이터 통신망으로서, 와이파이(WiFi) 통신, 와이파이 다이렉트(WiFi-Direct) 통신, 롱텀 에볼루션(LTE; Long Term Evolution) 통신, 블루투스 통신(더 구체적으로는, 저전력 블루투스(BLE; Bluetooth Low Energy) 통신), 적외선 통신, 초음파 통신 등과 같은 종래의 통신 방법을 적어도 그 일부분에 있어서 구현하는 것일 수 있다.
다음으로, 본 발명의 일 실시예에 따른 보정 시스템(200)은 통신망(100)을 통해 후술할 로봇(300)과 통신을 수행할 수 있고, 로봇(300)의 카메라 모듈(예를 들어, 3차원 카메라)에 의해 특정되는 제1 타겟 영역을 참조하여 제1 비교 대상 축을 결정하고, 로봇(300)의 스캐너 모듈(예를 들어, 라이다 센서)에 의해 특정되고 제1 타겟 영역과 연관되는 제2 타겟 영역을 참조하여 제2 비교 대상 축을 결정하며, 제1 비교 대상 축 및 제2 비교 대상 축 사이의 관계를 참조하여 로봇(300)의 카메라 모듈과 연관되는 기준 좌표계를 보정하는 기능을 수행할 수 있다.
한편, 보정 시스템(200)에 관하여 위와 같이 설명하였으나, 이러한 설명은 예시적인 것이고, 보정 시스템(200)에 요구되는 기능이나 구성요소의 적어도 일부가 필요에 따라 후술할 로봇(300) 또는 외부 시스템(미도시됨) 내에서 실현되거나 로봇(300) 또는 외부 시스템 내에 포함될 수도 있음은 당업자에게 자명하다. 또한, 경우에 따라서는, 보정 시스템(200)의 모든 기능과 모든 구성요소가 로봇(300) 내에서 전부 실현되거나 로봇(300) 내에 전부 포함될 수도 있다.
다음으로, 본 발명의 일 실시예에 따른 로봇(300)은 통신망(100)을 통해 보정 시스템(200)과 통신할 수 있고, 사용자에 의한 조작 없이도 소정의 기능이나 부여된 작업(예를 들어, 음식 서빙, 용기 회수 등)을 자율적으로 수행할 수 있는 기기로서, 객체(예를 들어, 음식 트레이)의 로딩 및 언로딩을 위한 모듈(예를 들어, 그랩, 로봇 팔 모듈 등), 주변 환경 정보를 획득하기 위한 카메라 모듈 또는 스캐너 모듈, 다양한 영상 또는 음성을 제공하기 위한 디스플레이 및 스피커 모듈, 및 로봇(300)의 이동을 위한 구동 모듈(예를 들어, 모터 등) 중 적어도 하나의 모듈을 포함할 수 있다. 예를 들어, 이러한 로봇(300)은 안내 로봇, 운반 로봇, 청소 로봇, 의료 로봇, 엔터테인먼트 로봇, 펫 로봇 및 무인 비행 로봇 중 적어도 하나와 유사한 특성이나 기능을 가지는 로봇일 수 있다.
한편, 본 발명의 일 실시예에 따르면, 로봇(300)에는 카메라 모듈과 연관되는 기준 좌표계를 보정하는 등의 본 발명에 따른 기능을 지원하는 애플리케이션이 포함되어 있을 수 있다. 이와 같은 애플리케이션은 보정 시스템(200) 또는 외부의 애플리케이션 배포 서버(미도시됨)로부터 다운로드된 것일 수 있다.
보정 시스템의 구성
이하에서는, 본 발명의 구현을 위하여 중요한 기능을 수행하는 보정 시스템(200)의 내부 구성 및 각 구성요소의 기능에 대하여 살펴보기로 한다.
도 2는 본 발명의 일 실시예에 따른 보정 시스템(200)의 내부 구성을 예시적으로 나타내는 도면이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 보정 시스템(200)은 비교 대상 축 결정부(210), 보정부(220), 통신부(230) 및 제어부(240)를 포함할 수 있다. 본 발명의 일 실시예에 따르면, 비교 대상 축 결정부(210), 보정부(220), 통신부(230) 및 제어부(240)는 그 중 적어도 일부가 외부 시스템(미도시됨)과 통신하는 프로그램 모듈들일 수 있다. 이러한 프로그램 모듈들은 운영 시스템, 응용 프로그램 모듈 및 기타 프로그램 모듈의 형태로 보정 시스템(200)에 포함될 수 있으며, 물리적으로는 여러 가지 공지의 기억 장치 상에 저장될 수 있다. 또한, 이러한 프로그램 모듈들은 보정 시스템(200)과 통신 가능한 원격 기억 장치에 저장될 수도 있다. 한편, 이러한 프로그램 모듈들은 본 발명에 따라 후술할 특정 업무를 수행하거나 특정 추상 데이터 유형을 실행하는 루틴, 서브루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포괄하지만, 이에 제한되지는 않는다.
먼저, 본 발명의 일 실시예에 따른 비교 대상 축 결정부(210)는 로봇(300)의 카메라 모듈에 의해 특정되는 제1 타겟 영역을 참조하여 제1 비교 대상 축을 결정하는 기능을 수행할 수 있다. 예를 들어, 본 발명의 일 실시예에 따른 제1 타겟 영역은 로봇(300)이 위치하는 장소(또는 공간)에서 둘 이상의 모서리가 만나는 지점 또는 대상을 포함하는 영역일 수 있다. 보다 구체적으로, 제1 타겟 영역에는 로봇(300)이 위치하는 장소의 벽 코너 영역(보다 구체적으로, 벽 코너의 꼭지점 영역)이 포함될 수 있다.
예를 들어, 도 3의 (a) 및 (b)를 참조하면, 제1 타겟 영역은 로봇(300)이 위치하는 장소(예를 들어, 직육면체 형태의 방)의 벽 코너의 꼭지점(310)을 포함하는 영역(예를 들어, 이러한 영역은 카메라 모듈에 의해 포인트 클라우드, 폴리곤 등의 형태로 특정될 수 있음)일 수 있고, 비교 대상 축 결정부(210)는 제1 타겟 영역의 해당 꼭지점(310)을 중심으로 특정되는 3개의 모서리를 참조하여 제1 비교 대상 축(315)을 결정할 수 있다. 보다 구체적으로, 비교 대상 축 결정부(210)는 위의 꼭지점을 중심으로 서로 90도를 이루는 3개의 모서리 각각을 기준으로 복수의 축을 특정하고, 그 복수의 축을 제1 비교 대상 축(315)으로 결정할 수 있다.
다른 예를 들어, 제1 타겟 영역은 로봇(300)이 위치하는 장소(예를 들어, 침실)의 직육면체 형태의 침대의 꼭지점을 포함하는 영역(예를 들어, 이러한 영역은 카메라 모듈에 의해 포인트 클라우드, 폴리곤 등의 형태로 특정될 수 있음)일 수 있고, 비교 대상 축 결정부(210)는 제1 타겟 영역의 해당 꼭지점을 중심으로 특정되는 3개의 모서리를 참조하여 제1 비교 대상 축을 결정할 수 있다. 보다 구체적으로, 비교 대상 축 결정부(210)는 위의 꼭지점을 중심으로 서로 90도를 이루는 3개의 모서리 각각을 기준으로 복수의 축을 특정하고, 그 복수의 축을 제1 비교 대상 축으로 결정할 수 있다.
또한, 비교 대상 축 결정부(210)는 로봇(300)의 스캐너 모듈에 의해 특정되고 제1 타겟 영역과 연관되는 제2 타겟 영역을 참조하여 제2 비교 대상 축을 결정하는 기능을 수행할 수 있다. 예를 들어, 본 발명의 일 실시예에 따른 제2 타겟 영역은 로봇(300)이 위치하는 장소(또는 공간)에서 둘 이상의 모서리가 만나는 지점 또는 대상을 포함하는 영역일 수 있고, 제1 타겟 영역과 동일하거나 그와 소정의 위치 관계 또는 기설정된 관계를 가질 수 있다. 보다 구체적으로, 제2 타겟 영역은 제1 타겟 영역에 포함되는 꼭지점을 기준으로 특정되는 3개의 모서리 중 하나 이상의 모서리를 공유하는 다른 꼭지점을 포함하는 영역이거나, 제1 타겟 영역에 포함되는 꼭지점과 소정의 위치 관계(예를 들어, 대칭 이동, 평행 이동, 회전 이동 등)에 있는 다른 꼭지점을 포함하는 영역일 수 있다. 예를 들어, 로봇(300)이 위치하는 장소가 직육면체 형태의 방인 경우에, 제1 타겟 영역이 그 방의 벽 코너의 특정 꼭지점을 포함하는 영역이라면, 제2 타겟 영역은 그 특정 꼭지점을 제외한 나머지 꼭지점 중 어느 하나를 포함하는 영역일 수 있다.
예를 들어, 다시 도 3의 (a) 및 (b)를 참조하면, 로봇(300)이 위치하는 장소(예를 들어, 직육면체 형태의 방)의 벽 코너의 하부 꼭지점(310)을 포함하는 영역이 앞서 살펴본 제1 타겟 영역인 경우에, 제1 타겟 영역과 연관되는 제2 타겟 영역은 해당 벽 코너의 상부 꼭지점을 포함하는 영역(예를 들어, 이러한 영역은 스캐너 모듈에 의해 포인트 클라우드, 폴리곤 등의 형태로 특정될 수 있음)일 수 있고, 비교 대상 축 결정부(210)는 그 상부 꼭지점을 기준으로 특정되는 3개의 모서리를 참조하여 제2 비교 대상 축(325)을 결정할 수 있다. 보다 구체적으로, 비교 대상 축 결정부(210)는 위의 상부 꼭지점을 중심으로 서로 90도를 이루는 3개의 모서리 각각을 기준으로 복수의 축을 특정하고, 그 복수의 축을 제2 비교 대상 축(325)으로 결정할 수 있다.
다음으로, 본 발명의 일 실시예에 따른 보정부(220)는 비교 대상 축 결정부(210)에 의해 결정되는 제1 비교 대상 축 및 제2 비교 대상 축 사이의 관계를 참조하여 카메라 모듈과 연관되는 기준 좌표계를 보정할 수 있다. 본 발명의 일 실시예에 따른 카메라 모듈과 연관되는 기준 좌표계는 카메라 모듈이 실세계 객체를 인식하기 위하여 이용하는 소정의 좌표계(예를 들어, 직각 좌표계, 원통 좌표계, 구 좌표계 등) 또는 카메라 모듈의 광학축에 기초하여 특정되는 좌표계를 포함할 수 있다. 한편, 이러한 기준 좌표계는 카메라 모듈이 로봇(300)에 설치 또는 고정되는 위치 또는 방향을 참조하여 결정될 수도 있다.
예를 들어, 보정부(220)는 제1 비교 대상 축 및 제2 비교 대상 축을 비교하여 특정되는 양자 간의 거리 또는 각도(또는 사잇각)를 참조하여 카메라 모듈의 보정 전 기준 좌표계를 평행 이동 또는 회전 이동시킴으로써 카메라 모듈의 보정된 기준 좌표계를 결정할 수 있다.
보다 구체적으로, 도 4를 참조하면, 보정부(220)는 로봇(300)이 위치한 바닥면의 중심을 기준으로 특정되는 베이스 기준 좌표계(401)(예를 들어, 로봇 운영 시스템(Robot Operating System; ROS) 플랫폼에서 정의되는 base_footprint를 기준으로 특정되는 좌표계)(또는 스캐너 모듈과 연관되는 기준 좌표계) 및 카메라 모듈의 보정 전 기준 좌표계(402)(예를 들어, ROS 플랫폼에서 정의되는 camera_fixed_link를 기준으로 특정되는 좌표계) 사이의 관계(407)를 결정할 수 있다. 예를 들어, 이러한 관계는 기설정되거나 소정의 위치 관계(예를 들어, 로봇(300)이 위치한 바닥면의 중심과 카메라 모듈이 설치되는 지점 사이의 위치 관계)를 참조하여 결정될 수 있다. 그 다음에, 보정부(220)는 베이스 기준 좌표계(401)(또는 스캐너 모듈과 연관되는 기준 좌표계)를 기반으로 제1 비교 대상 축(403)을 특정하고, 카메라 모듈의 보정 전 기준 좌표계(402)를 기반으로 제2 비교 대상 축(404)을 특정할 수 있다. 그 다음에, 보정부(220)는 베이스 기준 좌표계(401) 및 카메라 모듈의 보정 전 기준 좌표계(402) 사이의 관계(407)와, 제1 비교 대상 축(403) 및 제2 비교 대상 축(404) 사이의 관계(405)를 참조하여 카메라 모듈의 보정 전 기준 좌표계(402)를 보정함으로써(408), 카메라 모듈의 보정된 기준 좌표계(406)를 결정할 수 있다. 한편, 위의 보정 과정에서, 카메라 모듈의 외부 파라미터(extrinsic parameter), 내부 파라미터(intrinsic parameter) 등을 고려하여 보정이 이루어질 수도 있다(409, 410).
도 5의 (a)를 참조하면, 카메라 모듈과 스캐너 모듈을 통해 벽 코너(501)를 특정하는 경우에(예를 들어, 카메라 모듈 및 스캐너 모듈 각각에 의해 벽 코너에 대한 포인트 클라우드를 획득함), 보정 전에는 베이스 기준 좌표계(또는 스캐너 모듈의 기준 좌표계)에서 특정되는 벽 코너의 위치(510)와 카메라 모듈의 기준 좌표계(402)에서 특정되는 벽 코너의 위치(520)에 차이가 발생할 수 있다. 하지만, 도 5의 (b)를 참조하면, 보정 후에는 베이스 기준 좌표계(또는 스캐너 모듈의 기준 좌표계)에서 특정되는 벽 코너의 위치(510)와 카메라 모듈의 기준 좌표계(402)에서 특정되는 벽 코너의 위치(520)가 서로 일치할 수 있다.
또한, 보정부(220)는 로봇(300)이 위치한 바닥면 및 카메라 모듈에 의해 특정되는 기준면 사이의 관계를 참조하여 카메라 모듈과 연관되는 기준 좌표계를 보정할 수 있다.
예를 들어, 보정부(220)는 로봇(300)이 위치한 바닥면과 카메라 모듈에 의해 특정되는 기준면 사이의 각도를 참조하여 카메라 모듈과 연관되는 기준 좌표계를 보정할 수 있다. 예를 들어, 도 6을 참조하면, 보정부(220)는 로봇(300)이 위치한 바닥면(610)과 카메라 모듈에 의해 특정되는 기준면(620)의 사잇각 및 회전축을 결정할 수 있고(예를 들어, 바닥면(610) 법선 벡터가 N1이고 기준면(620)의 법선 벡터가 N2인 경우에, N1 및 N2의 외적 연산에 기초하여 위의 회전축을 산출하고, N1 및 N2의 내적에 대한 아크코사인(arccos) 연산에 기초하여 위의 사잇각이 산출될 수 있음), 위의 사잇각 및 회전축을 기반으로 로드리그의 회전 공식(Rodrigues' rotation formula)을 적용한 결과를 바탕으로 카메라 모듈과 연관되는 기준 좌표계를 보정할 수 있다.
다른 예를 들어, 보정부(220)는 카메라 모듈에 의해 특정되는 지표면의 적어도 세 개의 지점을 이용하여 후보 기준면을 특정할 수 있다. 그 다음에, 보정부(220)는 카메라 모듈에 의해 특정되는 지표면의 복수의 지점 중 후보 기준면으로부터 소정 거리 이내에 존재하는 지점의 수를 결정할 수 있다. 그 다음에, 보정부(220)는 위의 후보 기준면을 포함하는 복수의 후보 기준면 중에서 위의 지점의 수가 소정 수준 이상인 후보 기준면(예를 들어, 소정 거리 이내에 존재하는 지점의 수가 가장 많은 후보 기준면)을 카메라 모듈에 의해 특정되는 기준면으로 결정할 수 있다.
또 다른 예를 들어, 보정부(220)는 카메라 모듈에 의해 특정되는 지표면의 적어도 세 개의 지점을 이용하여 후보 기준면을 특정할 수 있다. 그 다음에, 보정부(220)는 카메라 모듈에 의해 특정되는 지표면의 복수의 지점 중 후보 기준면으로부터 소정 거리 이내에 존재하는 지점을 결정할 수 있다. 그 다음에, 보정부(220)는 위의 후보 기준면을 포함하는 복수의 후보 기준면 중에서 위의 지점을 참조하여(예를 들어, 위의 지점을 회귀 분석(예를 들어, 로지스틱 회귀 분석 등)한 결과를 참조하여) 카메라 모듈에 의해 특정되는 기준면을 결정할 수 있다.
또한, 보정부(220)는 스캐너 모듈에 의해 특정되는 소정 지점을 기준으로 결정되는 로봇(300)의 이동 거리 및 회전 각도 중 적어도 하나를 참조하여 로봇(300)의 이동 속성 정보를 보정할 수 있다. 본 발명의 일 실시예에 따른 로봇(300)의 이동 속성 정보에는 로봇(300)의 휠(또는 바퀴)의 크기(예를 들어, 반지름, 둘레 길이 등), 휠 베이스의 길이 등에 관한 정보가 포함될 수 있다.
예를 들어, 도 7을 참조하면, 보정부(220)는 스캐너 모듈에 의해 특정되는 소정 지점(701)(예를 들어, 벽 코너)을 기준으로 로봇(300)을 전진 또는 후진(710)(또는 반복적으로 전진 또는 후진)시킬 수 있고, 위의 소정 지점(701)을 기준으로 특정되는 로봇(300)의 실제 이동 거리(예를 들어, 위의 소정 지점(701)을 기준으로 로봇(300)의 위치를 산출하여 실제 이동 거리를 산출할 수 있음)와 로봇(300)의 기록된 이동 거리(예를 들어, 로봇(300)의 주행 기록계(odometer)에 의해 측정되는 거리) 간의 차이를 산출하고(한편, 이러한 작업은 반복 수행될 수 있음), 그 차이에 기초하여 로봇(300)의 휠의 크기에 관한 정보를 보정할 수 있다. 예를 들어, 휠의 실제 반지름 및 휠의 추정 반지름이 각각 r'와 r이고 좌우측 휠 각각의 각속도가 WL 및 WR인 것으로 가정하면, 휠의 추정 병진 속도(v_estimated) 및 휠의 실제 병진 속도(v_real) 간의 차이, 즉 (v_real-v_estimated)/v_real는 1-r/r'로 산출될 수 있고, 휠의 실제 반지름은 r'=r/(1-차이)로 특정될 수 있다.
다른 예를 들어, 보정부(220)는 스캐너 모듈에 의해 특정되는 소정 지점을 기준으로 로봇(300)을 시계 방향 또는 반시계 방향(720)으로 회전(또는 반복적으로 회전)시킬 수 있고, 위의 소정 지점을 기준으로 특정되는 로봇(300)의 실제 회전 각도(예를 들어, 위의 소정 지점을 기준으로 로봇(300)의 각도를 산출하여 실제 회전 각도를 산출할 수 있음)와 로봇(300)의 기록된 회전 각도(예를 들어, 로봇(300)의 주행 기록계에 의해 측정되는 회전 각도) 간의 차이를 산출하고, 그 차이에 기초하여 로봇(300)의 휠 베이스의 길이에 관한 정보를 보정할 수 있다. 예를 들어, 휠 베이스의 실제 길이 및 휠 베이스의 추정 길이가 각각 l'과 l이고 좌우측 휠 각각의 각속도가 WL 및 WR인 것으로 가정하면, 휠의 추정 회전 속도(w_estimated) 및 휠의 실제 회전 속도(w_real) 간의 차이, 즉 (w_real-w_estimated)/w_real는 1-l'/l로 산출될 수 있고, 휠 베이스의 실제 길이는 l'=l*(1-차이)로 특정될 수 있다.
다음으로, 본 발명의 일 실시예에 따르면, 통신부(230)는 비교 대상 축 결정부(210) 및 보정부(220)로부터의/로의 데이터 송수신이 가능하도록 하는 기능을 수행할 수 있다.
마지막으로, 본 발명의 일 실시예에 따르면, 제어부(240)는 비교 대상 축 결정부(210), 보정부(220) 및 통신부(230) 간의 데이터의 흐름을 제어하는 기능을 수행할 수 있다. 즉, 본 발명의 일 실시예에 따른 제어부(240)는 보정 시스템(200)의 외부로부터의/로의 데이터 흐름 또는 보정 시스템(200)의 각 구성요소 간의 데이터 흐름을 제어함으로써, 비교 대상 축 결정부(210), 보정부(220) 및 통신부(230)에서 각각 고유 기능을 수행하도록 제어할 수 있다.
실시예
본 발명의 일 실시예에 따른 로봇(300)이 레스토랑에 위치하는 상황을 가정해 볼 수 있다.
먼저, 본 발명의 일 실시예에 따르면, 로봇(300)이 레스토랑의 벽 코너로 이동될 수 있다. 이러한 레스토랑은 직육면체 형태의 장소일 수 있다.
그 다음에, 본 발명의 일 실시예에 따르면, 로봇(300)의 카메라 모듈에 의해 특정되는 벽 코너 영역을 참조하여 제1 비교 대상 축이 결정되고, 로봇(300)의 스캐너 모듈에 의해 특정되는 벽 코너 영역을 참조하여 제2 비교 대상 축이 결정될 수 있다. 예를 들어, 카메라 모듈에 의해 특정되는 벽 코너 영역과 스캐너 모듈에 의해 특정되는 벽 코너 영역은 동일한 벽 코너 영역일 수 있고, 소정의 위치 관계 또는 기설정된 관계를 갖는 다른 벽 코너 영역일 수도 있다.
그 다음에, 본 발명의 일 실시예에 따르면, 위의 제1 비교 대상 축 및 제2 비교 대상 축 사이의 관계를 참조하여 카메라 모듈과 연관되는 기준 좌표계가 보정될 수 있다.
또한, 로봇(300)을 운용하는 과정에서 온도가 올라가게 되면, 카메라 모듈에 에러가 발생할 수 있다. 이 경우에, 로봇(300)이 위치한 바닥면과 카메라 모듈에 의해 특정되는 기준면 사이의 각도를 참조하여 카메라 모듈과 연관되는 기준 좌표계가 보정될 수 있다.
예를 들어, 카메라 모듈에 의해 특정되는 지표면의 적어도 세 개의 지점을 이용하여 후보 기준면이 특정되고, 그 지표면의 복수의 지점 중 후보 기준면으로부터 소정 거리 이내에 존재하는 지점의 수가 결정되며, 위의 후보 기준면을 포함하는 복수의 후보 기준면 중에서 위의 지점의 수가 소정 수준 이상인 후보 기준면이 카메라 모듈에 의해 특정되는 기준면으로 결정될 수 있다.
한편, 본 발명의 일 실시예에 따르면, 로봇(300)의 카메라 모듈의 온도를 참조하여 에러율(구체적으로, 지표면과 카메라 모듈의 롤 방향의 각도 차이에 관한 에러율)이 소정 수준 이상인 경우에 위의 보정이 이루어질 수도 있다.
또한, 본 발명의 일 실시예에 따르면, 로봇(300)을 운용하는 과정에서 로봇(300)의 바퀴가 마모되거나 레스토랑의 바닥이 고르지 못한 상태일 수 있다. 이 경우에, 스캐너 모듈에 의해 특정되는 소정 지점을 기준으로 결정되는 로봇(300)의 이동 거리 및 회전 각도 중 적어도 하나를 참조하여 로봇(300)의 이동 속성 정보가 보정될 수 있다. 한편, 본 발명의 일 실시예에 따르면, 로봇(300)의 이동 속성 정보를 보정하는 과정은 카메라 모듈과 연관되는 기준 좌표계를 보정하는 과정과 동시에 이루어질 수 있고, 바닥 상태, 마모 상태 등에 따라 그 이전 또는 그 이후에 이루어질 수도 있다.
로봇의 구성
본 발명의 일 실시예에 따른 로봇(300)은 안내 로봇, 서빙 로봇, 운반 로봇, 청소 로봇, 의료 로봇, 엔터테인먼트 로봇, 펫 로봇 및 무인 비행 로봇 중 적어도 하나가 수행하는 작업과 유사한 작업을 수행하는 로봇일 수 있으며, 이를 위하여 각 작업에 부합하는 다양한 형상으로 구현될 수 있다.
도 8 및 도 9는 본 발명의 일 실시예에 따른 로봇의 구조를 예시적으로 나타내는 도면이다.
도 8을 참조하면, 로봇(300)은 본체(810), 구동부(820a, 820b, 820c, 820d) 및 프로세서(830)를 포함하여 구성될 수 있다.
예를 들어, 본 발명의 일 실시예에 따른 본체(810)에는 운송 대상 객체 또는 회수 대상 객체를 적재하기 위한 적어도 하나의 적재 공간이 포함될 수 있다. 본 발명의 일 실시예에 따른 운송 대상 객체 및 회수 대상 객체는 이동될 수 있는 모든 유형물을 총칭하는 개념으로, 예를 들어 사물, 동물, 사람 등을 포함하는 개념일 수 있다. 예를 들어, 운송 대상 객체는 음식물이고, 회수 대상 객체는 해당 음식물이 담긴 용기일 수 있다.
도 9를 참조하면, 예를 들어 로봇(300)이 서빙 로봇인 경우에, 운송 대상 객체의 제공 및 회수 대상 객체의 수거를 위한 제1 공간(910) 및 제2 공간(920)을 포함할 수 있다. 또한, 로봇(300)은 착탈식 기둥을 통해 제공되는 확장 공간인 제3 공간(930)을 더 포함할 수 있고, 필요에 따라 확장 공간을 더 추가함으로써 더 많은 적재 공간을 구비할 수 있다. 또한, 로봇(300)은 운송 대상 객체 또는 회수 대상 객체 전용의 트레이(940)를 더 포함할 수도 있다. 예를 들어, 트레이(940)는 위에서 볼 때에 그 상면에 복수 개의 원형 홈이 형성된 구성을 가질 수 있다. 각각의 원형 홈은 음료가 담긴 컵의 하부가 안착되어 쉽게 어느 정도 고정되도록 형성되어 있을 수 있다. 이러한 원형 홈의 크기는 다양할 수 있다. 또한, 로봇(300)의 제1 공간(910)의 하부에는 로봇(300)의 측면을 통하여 꺼내어질 수 있는 제4 공간(950)이 더 포함될 수 있다. 본 발명의 일 실시예에 따른 제4 공간(950)은 그 내부에 빈 공간이 형성되어 있고, 측면은 막혀 있으며, 윗면은 열려 있고 아랫면은 닫혀 있는, 바구니와 유사한 형태를 가질 수 있다. 다만, 본 발명에 따른 로봇(300)의 적재 공간이 위의 열거된 내용에 한정되어 구현되는 것은 아니고, 본 발명의 목적을 달성할 수 있는 범위 내에서 다른 형태의 적재 공간 등으로 다양하게 구현될 수 있다.
한편, 다시 도 8을 참조하면, 본체(810)에는 주변 영상(예를 들어, 고객, 테이블, 종업원, 다른 로봇(300) 등) 및 장애물 정보를 획득하기 위한 카메라 모듈(예를 들어, 3차원 카메라)(미도시됨) 및 스캐너 모듈(예를 들어, 라이다 센서 등)(미도시됨)이 더 포함될 수 있다.
다음으로, 본 발명의 일 실시예에 따른 구동부(820a, 820b, 820c, 820d)는 본체(810)를 다른 지점으로 이동시키기 위한 모듈 또는 운송 대상 객체 및 회수 대상 객체를 로딩 및 언로딩하기 위한 모듈을 포함하여 구성될 수 있다.
예를 들어, 구동부(820a, 820b, 820c, 820d)는 본체(810)를 다른 지점으로 이동시키기 위한 모듈로서, 전기식, 기계식, 또는 유압식으로 구동되는 바퀴, 프로펠러 등에 관한 모듈 등을 포함할 수 있고, 운송 대상 객체 및 회수 대상 객체를 로딩 및 언로딩하기 위한 모듈로서, 운송 대상 객체 및 회수 대상 객체를 장착하여 운반하기 위한 로봇 팔 모듈 등을 포함할 수 있다.
다음으로, 본 발명의 일 실시예에 따른 프로세서(830)는 구동부(820a, 820b, 820c, 820d)와 전기적으로 연결되어 구동부(820a, 820b, 820c, 820d)를 제어하는 기능을 수행할 수 있으며(외부 시스템과의 통신을 위한 통신 모듈을 더 포함할 수도 있음), 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 예를 들어, 이와 같이 하드웨어에 내장된 데이터 처리 장치는 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 처리 장치를 포함할 수 있다.
또한, 프로세서(830)는 본 발명에 따른 보정 시스템(200)의 비교 대상 축 결정부(210) 및 보정부(220) 중 적어도 하나의 기능을 수행할 수 있고(예를 들어, 해당 기능이 모듈화되어 프로세서(830)에 포함될 수 있음), 비교 대상 축 결정부(210) 및 보정부(220) 중 적어도 하나의 기능을 수행하는 외부 시스템(미도시됨)과의 통신을 통해 구동부(820a, 820b, 820c, 820d)를 제어하는 기능을 수행할 수도 있다.
구체적으로, 프로세서(830)는 로봇(300)의 카메라 모듈에 의해 특정되는 제1 타겟 영역을 참조하여 제1 비교 대상 축을 결정하고, 로봇(300)의 스캐너 모듈에 의해 특정되고 제1 타겟 영역과 연관되는 제2 타겟 영역을 참조하여 제2 비교 대상 축을 결정하며, 제1 비교 대상 축 및 제2 비교 대상 축 사이의 관계를 참조하여 로봇(300)의 카메라 모듈과 연관되는 기준 좌표계를 보정하는 기능을 수행할 수 있다.
이상 설명된 본 발명에 따른 실시예는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위하여 하나 이상의 소프트웨어 모듈로 변경될 수 있으며, 그 역도 마찬가지이다.
이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항과 한정된 실시예 및 도면에 의하여 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위하여 제공된 것일 뿐, 본 발명이 상기 실시예에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정과 변경을 꾀할 수 있다.
따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.
100: 통신망
200: 보정 시스템
210: 비교 대상 축 결정부
220: 보정부
230: 통신부
240: 제어부
300: 로봇

Claims (23)

  1. 로봇을 제어하기 위한 방법으로서,
    로봇의 카메라 모듈에 의해 특정되는 제1 타겟 영역을 참조하여 제1 비교 대상 축을 결정하고, 상기 로봇의 스캐너 모듈에 의해 특정되고 상기 제1 타겟 영역과 연관되는 제2 타겟 영역을 참조하여 제2 비교 대상 축을 결정하는 단계, 및
    상기 제1 비교 대상 축 및 상기 제2 비교 대상 축 사이의 관계를 참조하여 상기 카메라 모듈과 연관되는 기준 좌표계를 보정하는 단계를 포함하는
    방법.
  2. 제1항에 있어서,
    상기 제1 타겟 영역 또는 상기 제2 타겟 영역은, 상기 로봇이 위치하는 장소에서 둘 이상의 모서리가 만나는 지점 또는 대상을 포함하는
    방법.
  3. 제1항에 있어서,
    상기 결정 단계에서, 상기 제1 타겟 영역에서 특정되는 모서리를 참조하여 상기 제1 비교 대상 축을 결정하고, 상기 제2 타겟 영역에서 특정되는 모서리를 참조하여 상기 제2 비교 대상 축을 결정하는
    방법.
  4. 제1항에 있어서,
    상기 보정 단계에서, 상기 로봇이 위치한 바닥면 및 상기 카메라 모듈에 의해 특정되는 기준면 사이의 관계를 참조하여 상기 카메라 모듈과 연관되는 기준 좌표계를 보정하는
    방법.
  5. 제4항에 있어서,
    상기 로봇이 위치한 바닥면과 상기 카메라 모듈에 의해 특정되는 기준면 사이의 각도를 참조하여 상기 카메라 모듈과 연관되는 기준 좌표계를 보정하는
    방법.
  6. 제4항에 있어서,
    상기 카메라 모듈에 의해 특정되는 지표면의 적어도 세 개의 지점을 이용하여 후보 기준면을 특정하고, 상기 지표면의 복수의 지점 중 상기 후보 기준면으로부터 소정 거리 이내에 존재하는 지점의 수를 결정하며, 상기 후보 기준면을 포함하는 복수의 후보 기준면 중에서 상기 지점의 수가 소정 수준 이상인 후보 기준면을 상기 카메라 모듈에 의해 특정되는 기준면으로 결정하는
    방법.
  7. 제4항에 있어서,
    상기 카메라 모듈에 의해 특정되는 지표면의 적어도 세 개의 지점을 이용하여 후보 기준면을 특정하고, 상기 지표면의 복수의 지점 중 상기 후보 기준면으로부터 소정 거리 이내에 존재하는 지점을 결정하며, 상기 후보 기준면을 포함하는 복수의 후보 기준면 중에서 상기 지점을 참조하여 상기 카메라 모듈에 의해 특정되는 기준면을 결정하는
    방법.
  8. 제7항에 있어서,
    상기 복수의 후보 기준면 중에서 상기 지점을 회귀 분석한 결과를 참조하여 상기 카메라 모듈에 의해 특정되는 기준면을 결정하는
    방법.
  9. 제1항에 있어서,
    상기 보정 단계에서, 상기 제1 비교 대상 축 및 상기 제2 비교 대상 축 사이의 각도를 참조하여 상기 카메라 모듈과 연관되는 기준 좌표계를 보정하는
    방법.
  10. 제1항에 있어서,
    상기 보정 단계는, 상기 스캐너 모듈에 의해 특정되는 소정 지점을 기준으로 결정되는 상기 로봇의 이동 거리 및 회전 각도 중 적어도 하나를 참조하여 상기 로봇의 이동 속성 정보를 보정하는 단계를 포함하는
    방법.
  11. 제10항에 있어서,
    상기 이동 속성 정보는 상기 로봇의 휠의 크기 및 휠 베이스의 길이 중 적어도 하나에 관한 정보를 포함하는
    방법.
  12. 제1항에 따른 방법을 실행하기 위한 컴퓨터 프로그램을 기록한 비일시성의 컴퓨터 판독 가능 기록 매체.
  13. 로봇을 제어하기 위한 시스템으로서,
    로봇의 카메라 모듈에 의해 특정되는 제1 타겟 영역을 참조하여 제1 비교 대상 축을 결정하고, 상기 로봇의 스캐너 모듈에 의해 특정되고 상기 제1 타겟 영역과 연관되는 제2 타겟 영역을 참조하여 제2 비교 대상 축을 결정하는 비교 대상 축 결정부, 및
    상기 제1 비교 대상 축 및 상기 제2 비교 대상 축 사이의 관계를 참조하여 상기 카메라 모듈과 연관되는 기준 좌표계를 보정하는 보정부를 포함하는
    시스템.
  14. 제13항에 있어서,
    상기 제1 타겟 영역 또는 상기 제2 타겟 영역은, 상기 로봇이 위치하는 장소에서 둘 이상의 모서리가 만나는 지점 또는 대상을 포함하는
    시스템.
  15. 제13항에 있어서,
    상기 비교 대상 축 결정부는, 상기 제1 타겟 영역에서 특정되는 모서리를 참조하여 상기 제1 비교 대상 축을 결정하고, 상기 제2 타겟 영역에서 특정되는 모서리를 참조하여 상기 제2 비교 대상 축을 결정하는
    시스템.
  16. 제13항에 있어서,
    상기 보정부는, 상기 로봇이 위치한 바닥면 및 상기 카메라 모듈에 의해 특정되는 기준면 사이의 관계를 참조하여 상기 카메라 모듈과 연관되는 기준 좌표계를 보정하는
    시스템.
  17. 제16항에 있어서,
    상기 보정부는, 상기 로봇이 위치한 바닥면과 상기 카메라 모듈에 의해 특정되는 기준면 사이의 각도를 참조하여 상기 카메라 모듈과 연관되는 기준 좌표계를 보정하는
    시스템.
  18. 제16항에 있어서,
    상기 보정부는, 상기 카메라 모듈에 의해 특정되는 지표면의 적어도 세 개의 지점을 이용하여 후보 기준면을 특정하고, 상기 지표면의 복수의 지점 중 상기 후보 기준면으로부터 소정 거리 이내에 존재하는 지점의 수를 결정하며, 상기 후보 기준면을 포함하는 복수의 후보 기준면 중에서 상기 지점의 수가 소정 수준 이상인 후보 기준면을 상기 카메라 모듈에 의해 특정되는 기준면으로 결정하는
    시스템.
  19. 제16항에 있어서,
    상기 보정부는, 상기 카메라 모듈에 의해 특정되는 지표면의 적어도 세 개의 지점을 이용하여 후보 기준면을 특정하고, 상기 지표면의 복수의 지점 중 상기 후보 기준면으로부터 소정 거리 이내에 존재하는 지점을 결정하며, 상기 후보 기준면을 포함하는 복수의 후보 기준면 중에서 상기 지점을 참조하여 상기 카메라 모듈에 의해 특정되는 기준면을 결정하는
    시스템.
  20. 제19항에 있어서,
    상기 복수의 후보 기준면 중에서 상기 지점을 회귀 분석한 결과를 참조하여 상기 카메라 모듈에 의해 특정되는 기준면을 결정하는
    시스템.
  21. 제13항에 있어서,
    상기 보정부는, 상기 제1 비교 대상 축 및 상기 제2 비교 대상 축 사이의 각도를 참조하여 상기 카메라 모듈과 연관되는 기준 좌표계를 보정하는
    시스템.
  22. 제13항에 있어서,
    상기 보정부는, 상기 스캐너 모듈에 의해 특정되는 소정 지점을 기준으로 결정되는 상기 로봇의 이동 거리 및 회전 각도 중 적어도 하나를 참조하여 상기 로봇의 이동 속성 정보를 보정하는
    시스템.
  23. 제22항에 있어서,
    상기 이동 속성 정보는 상기 로봇의 휠의 크기 및 휠 베이스의 길이 중 적어도 하나에 관한 정보를 포함하는
    시스템.
KR1020210174302A 2021-11-15 2021-12-08 로봇을 제어하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체 KR102621569B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/526,351 US11759949B2 (en) 2021-11-15 2021-11-15 Method, system, and non-transitory computer-readable recording medium for controlling a robot
US17/526,351 2021-11-15

Publications (2)

Publication Number Publication Date
KR20230070989A KR20230070989A (ko) 2023-05-23
KR102621569B1 true KR102621569B1 (ko) 2024-01-04

Family

ID=86324983

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210174302A KR102621569B1 (ko) 2021-11-15 2021-12-08 로봇을 제어하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체

Country Status (4)

Country Link
US (1) US11759949B2 (ko)
JP (1) JP7271649B1 (ko)
KR (1) KR102621569B1 (ko)
WO (1) WO2023086559A2 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200262080A1 (en) * 2019-02-14 2020-08-20 InTune Products LLC Comprehensive model-based method for gantry robot calibration via a dual camera vision system
JP2021514495A (ja) * 2019-01-25 2021-06-10 ベアー ロボティックス,インコーポレイテッド ロボットの移動経路を決定する方法、システムおよび非一過性のコンピュータ読み取り可能記録媒体

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0779383A (ja) 1993-12-27 1995-03-20 Olympus Optical Co Ltd 画像取扱装置
JP2007156576A (ja) 2005-11-30 2007-06-21 Mitsubishi Heavy Ind Ltd 走行台車のオドメトリ(車輪距離計)パラメータ調整方法及び装置
KR100914211B1 (ko) 2008-01-15 2009-08-26 주식회사 이미지넥스트 왜곡 영상 보정 장치 및 방법
KR101988937B1 (ko) * 2017-09-07 2019-06-13 주식회사 인지 카메라와 로봇 핸드의 캘리브레이션 방법 및 장치
CN109634279B (zh) * 2018-12-17 2022-08-12 瞿卫新 基于激光雷达与单目视觉的物体定位方法
CN112630750B (zh) * 2019-10-08 2024-07-16 华为技术有限公司 传感器标定方法和传感器标定装置
CN112785649A (zh) * 2019-11-11 2021-05-11 北京京邦达贸易有限公司 激光雷达和相机的标定方法、装置、电子设备及介质
US11199614B1 (en) * 2020-07-08 2021-12-14 Beijing Voyager Technology Co., Ltd Lidar and image calibration for autonomous vehicles

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021514495A (ja) * 2019-01-25 2021-06-10 ベアー ロボティックス,インコーポレイテッド ロボットの移動経路を決定する方法、システムおよび非一過性のコンピュータ読み取り可能記録媒体
US20200262080A1 (en) * 2019-02-14 2020-08-20 InTune Products LLC Comprehensive model-based method for gantry robot calibration via a dual camera vision system

Also Published As

Publication number Publication date
US11759949B2 (en) 2023-09-19
KR20230070989A (ko) 2023-05-23
WO2023086559A3 (en) 2023-06-22
WO2023086559A2 (en) 2023-05-19
JP2023073178A (ja) 2023-05-25
US20230150129A1 (en) 2023-05-18
JP7271649B1 (ja) 2023-05-11

Similar Documents

Publication Publication Date Title
US11276191B2 (en) Estimating dimensions for an enclosed space using a multi-directional camera
JP7341652B2 (ja) 情報処理装置、情報処理方法、プログラム、およびシステム
US10796151B2 (en) Mapping a space using a multi-directional camera
Jaimez et al. Planar odometry from a radial laser scanner. A range flow-based approach
US11338438B2 (en) Method, system and non-transitory computer-readable recording medium for determining a movement path of a robot
WO2019019147A1 (en) SELF-EXPLORATION CONTROL OF A ROBOTIC VEHICLE
KR20230066323A (ko) 보관 현장에서의 자율 로봇 탐색
KR20190076985A (ko) 운송수단 충돌 회피
CN110533703B (zh) 一种双目立体视差确定方法、装置及无人机
EP4180897B1 (en) Method and system for optimal coverage path planning for autonomous mobile devices
US20220214696A1 (en) Simultaneous Localization and Mapping
EP3995923B1 (en) Method, system, and non-transitory computer-readable recording medium for controlling a destination of a robot
Graf et al. Optimization-based terrain analysis and path planning in unstructured environments
KR102671839B1 (ko) 로봇을 위한 맵을 생성하는 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체
KR102621569B1 (ko) 로봇을 제어하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체
CN112082542A (zh) 数字模型校正
CN116339389A (zh) 基于数字孪生的旋翼无人机盘库方法、装置及存储介质
US20220355474A1 (en) Method and computing system for performing robot motion planning and repository detection
WO2024124421A1 (en) Robot rotation matrix estimation using manhattan world assumption
KR102704815B1 (ko) 아웃도어 영역에서 이종의 위치정보 획득 메커니즘을 적용하는 방법 및 이를 구현하는 로봇과 클라우드 서버
US20230133480A1 (en) Thin object detection and avoidance in aerial robots
Lan et al. Design of Swarm Robots Formation Control System Based on Vision Guidance
US20230400858A1 (en) Identifying transport structures
CA3236875A1 (en) Precision height estimation using sensor fusion
Brockers et al. Computer vision for micro air vehicles

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant