KR102621569B1 - Method, system, and non-transitory computer-readable recording medium for controlling a robot - Google Patents

Method, system, and non-transitory computer-readable recording medium for controlling a robot 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
Korean (ko)
Other versions
KR20230070989A (en
Inventor
정상헌
에이. 레이호스 헨리
팡웨이 리
리우 이나
Original Assignee
베어 로보틱스, 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 베어 로보틱스, 인크. filed Critical 베어 로보틱스, 인크.
Publication of KR20230070989A publication Critical patent/KR20230070989A/en
Application granted granted Critical
Publication of KR102621569B1 publication Critical patent/KR102621569B1/en

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/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • 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
    • G05D1/0248Control 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 in combination with a laser
    • 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
    • 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
    • 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
    • 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
    • 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

Landscapes

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

Abstract

본 발명의 일 태양에 따르면, 로봇을 제어하기 위한 방법으로서, 로봇의 카메라 모듈에 의해 특정되는 제1 타겟 영역을 참조하여 제1 비교 대상 축을 결정하고, 상기 로봇의 스캐너 모듈에 의해 특정되고 상기 제1 타겟 영역과 연관되는 제2 타겟 영역을 참조하여 제2 비교 대상 축을 결정하는 단계, 및 상기 제1 비교 대상 축 및 상기 제2 비교 대상 축 사이의 관계를 참조하여 상기 카메라 모듈과 연관되는 기준 좌표계를 보정하는 단계를 포함하는 방법이 제공된다.According to one aspect of the present invention, a method for controlling a robot includes determining a first comparison target axis with reference to a first target area specified by a camera module of the robot, and determining a first comparison target axis, which is specified by a scanner module of the robot and 1 determining a second comparison target axis with reference to a second target area associated with the target area, and a reference coordinate system associated with the camera module with reference to the relationship between the first comparison target axis and the second comparison target axis. A method including the step of correcting is provided.

Description

로봇을 제어하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체{METHOD, SYSTEM, AND NON-TRANSITORY COMPUTER-READABLE RECORDING MEDIUM FOR CONTROLLING A ROBOT}Method, system and non-transitory computer-readable recording medium for controlling a robot {METHOD, SYSTEM, AND NON-TRANSITORY COMPUTER-READABLE RECORDING MEDIUM FOR CONTROLLING A ROBOT}

본 발명은 로봇을 제어하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능 기록 매체에 관한 것이다.The present invention relates to a method, system, and non-transitory computer-readable recording medium for controlling a robot.

로봇은 어려운 작업이나 반복적인 조작 등을 자동화하여 수행할 수 있기 때문에, 다양한 분야에서 인간을 대신하거나 보조하는데 활용되고 있다. 근래에 들어, 로봇을 운용하는 과정에서 발생되는 오차나 에러를 보정하기 위한 기술에 대하여 다양한 연구가 진행되고 있다.Because robots can automate difficult tasks or repetitive operations, they are used to replace or assist humans in various fields. In recent years, various studies have been conducted on technologies for correcting errors or errors that occur in the process of operating a robot.

이에 관한 종래 기술의 일 예로서, 한국 등록특허공보 제10-0914211호에 개시된 기술을 예로 들 수 있는데, 이에 따르면, 카메라를 통해 촬영된 복수의 정방형 격자 무늬를 가지는 보정 지표에 대한 2차원의 보정 지표 이미지를 수신하고, 상기 보정 지표 이미지로부터 상기 격자 무늬 사이의 꼭지점 좌표 정보 및 꼭지점 연결 정보를 포함하는 복수의 특징 데이터를 추출하며, 상기 복수의 특징 데이터의 좌표 정보를 이용하여 왜곡 보정 알고리즘을 구성하는 왜곡 보정 계수를 산출하고, 상기 산출된 계수를 이용하여 보정 파일을 생성하는 단계를 포함하는 왜곡 영상 보정 방법이 소개된 바 있다.An example of the prior art in this regard is the technology disclosed in Korean Patent Publication No. 10-0914211, which provides two-dimensional correction for a correction index having a plurality of square grid patterns photographed through a camera. Receive an index image, extract a plurality of feature data including vertex coordinate information and vertex connection information between the grid patterns from the corrected index image, and configure a distortion correction algorithm using the coordinate information of the plurality of feature data. A distortion image correction method has been introduced that includes calculating a distortion correction coefficient and generating a correction file using the calculated coefficient.

하지만, 위와 같은 종래 기술을 비롯하여 지금까지 소개된 기술은 로봇에 의해 획득되는 영상 정보나 센싱 정보의 품질을 개선하는 방안에 대하여 주로 관심이 있을 뿐이었고, 영상 정보나 센싱 정보를 획득하는 하드웨어 모듈(예를 들어, 카메라 모듈, 스캐너 모듈 등)을 조립 또는 설치하는 과정에서 발생하는 오류, 환경적인 요인(예를 들어, 온도)에 의해 그러한 하드웨어 모듈에서 발생하는 오류 등을 개선하는 방안에 대하여는 관심이 없었다.However, the technologies introduced so far, including the above-mentioned conventional technologies, are mainly interested in ways to improve the quality of image information or sensing information acquired by robots, and involve hardware modules (hardware modules) that acquire image information or sensing information. For example, there is interest in ways to improve errors that occur in the process of assembling or installing camera modules, scanner modules, etc., and errors that occur in such hardware modules due to environmental factors (e.g., temperature). There wasn't.

일반적으로, 로봇에는 3차원 좌표계를 기반으로 하는 다양한 하드웨어 모듈들이 존재하고 그 모듈들 간에 연동이 이루어지게 되는데, 그러한 하드웨어 모듈들 중 예를 들어 카메라 모듈이 정해진 위치(또는 방향)가 아닌 다른 위치(또는 방향)에 설치되는 경우에, 카메라 모듈의 좌표계와 다른 하드웨어 모듈, 예를 들어 스캐너 모듈의 좌표계 간의 정합 또는 연동과 관련된 문제가 발생하여 로봇의 오작동을 일으키는 주요 원인이 될 수 있다. 또한, 야외에서 운용되는 로봇의 경우에는 햇빛 등으로 인해 로봇에 설치된 카메라 모듈(예를 들어, 3차원 카메라 모듈)의 온도가 높아지게 되면, 롤(roll) 방향과 관련된 인식 에러가 발생하는 문제(구체적으로, 온도가 올라갈수록 롤 방향을 기준으로 지표면과의 각도 차이가 커지는 문제)가 있었다. 또한, 로봇에 설치된 이동 모듈과 관련된 상태(예를 들어, 휠의 마모, 휠 베이스의 길이 변화, 바닥 상태 등)로 인해 로봇이 원하는 거리만큼 이동하지 못하거나 원하는 각도만큼 회전이 되지 않는 경우가 발생하였다.In general, a robot has various hardware modules based on a three-dimensional coordinate system, and the modules are interconnected. For example, a camera module is located in a position (or direction) other than the designated location (or direction). or direction), problems related to matching or linking between the coordinate system of the camera module and the coordinate system of other hardware modules, for example, the scanner module, may occur, which can be a major cause of malfunction of the robot. Additionally, in the case of robots operated outdoors, when the temperature of the camera module (for example, a 3D camera module) installed on the robot increases due to sunlight, etc., a recognition error related to the roll direction occurs (specifically, There was a problem that as the temperature increased, the angle difference with the ground surface based on the roll direction increased. Additionally, there may be cases where the robot cannot move the desired distance or rotate at the desired angle due to conditions related to the movement module installed on the robot (e.g., wheel wear, change in wheel base length, floor condition, etc.). did.

이에, 본 발명자(들)은, 로봇의 하드웨어 모듈, 구체적으로는 카메라 모듈이나 이동 모듈과 연관되는 에러를 정교하게 보정할 수 있는 신규하고도 진보된 기술을 제안하는 바이다.Accordingly, the present inventor(s) propose a new and advanced technology that can precisely correct errors associated with the robot's hardware modules, specifically camera modules or movement modules.

본 발명은, 전술한 종래 기술의 문제점을 모두 해결하는 것을 그 목적으로 한다.The purpose of the present invention is to solve all the problems of the prior art described above.

또한, 본 발명은, 카메라 모듈(예를 들어, 3차원 카메라)에 의해 결정되는 비교 대상 축과 스캐너 모듈(예를 들어, 라이다(LIDAR) 센서)에 의해 결정되는 비교 대상 축 사이의 관계를 참조하여 카메라 모듈과 연관되는 기준 좌표계를 보정함으로써, 카메라 모듈의 설치 위치 또는 설치 방향에 따른 에러를 보정하는 것을 그 목적으로 한다.In addition, the present invention relates to a relationship between a comparison target axis determined by a camera module (e.g., a 3D camera) and a comparison target axis determined by a scanner module (e.g., a LIDAR sensor). The purpose is to correct errors according to the installation location or installation direction of the camera module by referencing and correcting the reference coordinate system associated with the camera module.

또한, 본 발명은, 로봇이 위치한 바닥면과 카메라 모듈에 의해 특정되는 기준면 사이의 관계를 참조하여 카메라 모듈과 연관되는 기준 좌표계를 보정함으로써, 온도 증가로 인해 발생하는 에러(구체적으로, 롤 방향의 에러)를 보정하는 것을 그 목적으로 한다.In addition, the present invention corrects the reference coordinate system associated with the camera module by referring to the relationship between the floor surface on which the robot is located and the reference surface specified by the camera module, thereby correcting errors (specifically, the roll direction in the roll direction) that occur due to an increase in temperature. The purpose is to correct errors.

또한, 본 발명은, 로봇의 스캐너 모듈에 의해 특정되는 소정 지점을 기준으로 로봇의 이동 속성 정보(예를 들어, 휠의 크기, 휠 베이스의 길이 등)를 보정하여, 로봇의 실제 이동 거리와 로봇의 기록된 이동 거리(예를 들어, 로봇의 주행 기록계(odometer)에 의해 측정되는 거리) 사이의 차이 또는 로봇의 실제 회전 각도와 로봇의 기록된 회전 각도(예를 들어, 로봇의 주행 기록계에 의해 측정되는 회전 각도) 사이의 차이를 보정하는 것을 또 다른 목적으로 한다.In addition, the present invention corrects the movement attribute information of the robot (for example, the size of the wheel, the length of the wheel base, etc.) of the robot based on a predetermined point specified by the robot's scanner module, so that the actual moving distance of the robot and the robot The difference between the recorded distance traveled (e.g., the distance measured by the robot's odometer) or the robot's actual rotation angle and the robot's recorded rotation angle (e.g., the distance measured by the robot's odometer). Another purpose is to correct the difference between the measured rotation angles.

상기 목적을 달성하기 위한 본 발명의 대표적인 구성은 다음과 같다.A representative configuration of the present invention to achieve the above object is as follows.

본 발명의 일 태양에 따르면, 로봇을 제어하기 위한 방법으로서, 로봇의 카메라 모듈에 의해 특정되는 제1 타겟 영역을 참조하여 제1 비교 대상 축을 결정하고, 상기 로봇의 스캐너 모듈에 의해 특정되고 상기 제1 타겟 영역과 연관되는 제2 타겟 영역을 참조하여 제2 비교 대상 축을 결정하는 단계, 및 상기 제1 비교 대상 축 및 상기 제2 비교 대상 축 사이의 관계를 참조하여 상기 카메라 모듈과 연관되는 기준 좌표계를 보정하는 단계를 포함하는 방법이 제공된다.According to one aspect of the present invention, a method for controlling a robot includes determining a first comparison target axis with reference to a first target area specified by a camera module of the robot, and determining a first comparison target axis, which is specified by a scanner module of the robot and 1 determining a second comparison target axis with reference to a second target area associated with the target area, and a reference coordinate system associated with the camera module with reference to the relationship between the first comparison target axis and the second comparison target axis. A method including the step of correcting is provided.

본 발명의 다른 태양에 따르면, 로봇을 제어하기 위한 시스템으로서, 로봇의 카메라 모듈에 의해 특정되는 제1 타겟 영역을 참조하여 제1 비교 대상 축을 결정하고, 상기 로봇의 스캐너 모듈에 의해 특정되고 상기 제1 타겟 영역과 연관되는 제2 타겟 영역을 참조하여 제2 비교 대상 축을 결정하는 비교 대상 축 결정부, 및 상기 제1 비교 대상 축 및 상기 제2 비교 대상 축 사이의 관계를 참조하여 상기 카메라 모듈과 연관되는 기준 좌표계를 보정하는 보정부를 포함하는 시스템이 제공된다.According to another aspect of the present invention, a system for controlling a robot, wherein a first comparison target axis is determined with reference to a first target area specified by a camera module of the robot, and the first axis is specified by a scanner module of the robot. 1. A comparison axis determination unit that determines a second comparison axis with reference to a second target area associated with the target area, and the camera module with reference to the relationship between the first comparison axis and the second comparison axis. A system including a correction unit that corrects an associated reference coordinate system is provided.

이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램을 기록한 비일시성의 컴퓨터 판독 가능한 기록 매체가 더 제공된다.In addition, another method for implementing the present invention, another system, and a non-transitory computer-readable recording medium recording a computer program for executing the method are further provided.

본 발명에 의하면, 카메라 모듈(예를 들어, 3차원 카메라)에 의해 결정되는 비교 대상 축과 스캐너 모듈(예를 들어, 라이다(LIDAR) 센서)에 의해 결정되는 비교 대상 축 사이의 관계를 참조하여 카메라 모듈과 연관되는 기준 좌표계를 보정함으로써, 카메라 모듈의 설치 위치 또는 설치 방향에 따른 에러를 보정할 수 있다.According to the present invention, reference is made to the relationship between the comparison axis determined by a camera module (e.g., a 3D camera) and the comparison axis determined by a scanner module (e.g., a LIDAR sensor). By correcting the reference coordinate system associated with the camera module, errors depending on the installation location or direction of the camera module can be corrected.

또한, 본 발명에 의하면, 로봇이 위치한 바닥면과 카메라 모듈에 의해 특정되는 기준면 사이의 관계를 참조하여 카메라 모듈과 연관되는 기준 좌표계를 보정함으로써, 온도 증가로 인해 발생하는 에러(구체적으로, 롤 방향의 에러)를 보정할 수 있다.In addition, according to the present invention, by correcting the reference coordinate system associated with the camera module with reference to the relationship between the floor surface on which the robot is located and the reference surface specified by the camera module, errors occurring due to temperature increase (specifically, roll direction error) can be corrected.

또한, 본 발명에 의하면, 로봇의 스캐너 모듈에 의해 특정되는 소정 지점을 기준으로 로봇의 이동 속성 정보(예를 들어, 휠의 크기, 휠 베이스의 길이 등)를 보정하여, 로봇의 실제 이동 거리와 로봇의 기록된 이동 거리(예를 들어, 로봇의 주행 기록계에 의해 측정되는 거리) 사이의 차이 또는 로봇의 실제 회전 각도와 로봇의 기록된 회전 각도(예를 들어, 로봇의 주행 기록계에 의해 측정되는 회전 각도) 사이의 차이를 보정할 수 있다.In addition, according to the present invention, the robot's movement attribute information (for example, wheel size, wheel base length, etc.) is corrected based on a predetermined point specified by the robot's scanner module, and the robot's actual movement distance and The difference between the robot's recorded distance traveled (e.g., the distance measured by the robot's odometer) or the robot's actual rotation angle and the robot's recorded rotation angle (e.g., the distance measured by the robot's odometer). The difference between the rotation angles) can be corrected.

도 1은 본 발명의 일 실시예에 따라 로봇을 제어하기 위한 전체 시스템의 구성을 개략적으로 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 보정 시스템의 내부 구성을 예시적으로 나타내는 도면이다.
도 3 내지 도 6은 본 발명의 일 실시예에 따라 로봇의 카메라 모듈과 연관되는 기준 좌표계를 보정하는 과정을 예시적으로 나타내는 도면이다.
도 7는 본 발명의 일 실시예에 따라 로봇의 이동 속성 정보를 보정하는 과정을 예시적으로 나타내는 도면이다.
도 8 및 도 9는 본 발명의 일 실시예에 따른 로봇의 구조를 예시적으로 나타내는 도면이다.
1 is a diagram schematically showing the configuration of an entire system for controlling a robot according to an embodiment of the present invention.
Figure 2 is a diagram illustrating the internal configuration of a correction system according to an embodiment of the present invention.
3 to 6 are diagrams illustrating a process for correcting a reference coordinate system associated with a camera module of a robot according to an embodiment of the present invention.
Figure 7 is a diagram illustrating a process for correcting movement attribute information of a robot according to an embodiment of the present invention.
8 and 9 are diagrams illustrating the structure of a robot according to an embodiment of the present invention.

후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이러한 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 본 명세서에 기재되어 있는 특정 형상, 구조 및 특성은 본 발명의 정신과 범위를 벗어나지 않으면서 일 실시예로부터 다른 실시예로 변경되어 구현될 수 있다. 또한, 각각의 실시예 내의 개별 구성요소의 위치 또는 배치도 본 발명의 정신과 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 행하여지는 것이 아니며, 본 발명의 범위는 특허청구범위의 청구항들이 청구하는 범위 및 그와 균등한 모든 범위를 포괄하는 것으로 받아들여져야 한다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 구성요소를 나타낸다.The detailed description of the present invention described below refers to the accompanying drawings, which show by way of example specific embodiments in which the present invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. It should be understood that the various embodiments of the present invention are different from one another but are not necessarily mutually exclusive. For example, specific shapes, structures and characteristics described herein may be implemented with changes from one embodiment to another without departing from the spirit and scope of the invention. Additionally, it should be understood that the location or arrangement of individual components within each embodiment may be changed without departing from the spirit and scope of the present invention. Accordingly, the detailed description described below is not to be taken in a limiting sense, and the scope of the present invention should be taken to encompass the scope claimed by the claims and all equivalents thereof. Like reference numbers in the drawings indicate identical or similar elements throughout various aspects.

이하에서는, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있도록 하기 위하여, 본 발명의 여러 바람직한 실시예에 관하여 첨부된 도면을 참조하여 상세히 설명하기로 한다.Hereinafter, several preferred embodiments of the present invention will be described in detail with reference to the attached drawings in order to enable those skilled in the art to easily practice the present invention.

전체 시스템의 구성Configuration of the entire system

도 1은 본 발명의 일 실시예에 따라 로봇을 제어하기 위한 전체 시스템의 구성을 개략적으로 나타내는 도면이다.1 is a diagram schematically showing the configuration of an entire system for controlling a robot according to an embodiment of the present invention.

도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 전체 시스템은 통신망(100), 보정 시스템(200) 및 로봇(300)을 포함할 수 있다.As shown in FIG. 1, the entire system according to an embodiment of the present invention may include a communication network 100, a correction system 200, and a robot 300.

먼저, 본 발명의 일 실시예에 따르면, 통신망(100)은 유선 통신이나 무선 통신과 같은 통신 양태를 가리지 않고 구성될 수 있으며, 근거리 통신망(LAN; Local Area Network), 도시권 통신망(MAN; Metropolitan Area Network), 광역 통신망(WAN; Wide Area Network) 등 다양한 통신망으로 구성될 수 있다. 바람직하게는, 본 명세서에서 말하는 통신망(100)은 공지의 인터넷 또는 월드와이드웹(WWW; World Wide Web)일 수 있다. 그러나, 통신망(100)은, 굳이 이에 국한될 필요 없이, 공지의 유무선 데이터 통신망, 공지의 전화망, 또는 공지의 유무선 텔레비전 통신망을 그 적어도 일부에 있어서 포함할 수도 있다.First, according to an embodiment of the present invention, the communication network 100 can be configured regardless of communication mode, such as wired communication or wireless communication, and may include a local area network (LAN), a metropolitan area network (MAN), or a local area network (LAN). It can be composed of various communication networks such as (Network) and Wide Area Network (WAN). Preferably, the communication network 100 referred to in this specification may be the known Internet or World Wide Web (WWW). However, the communication network 100 is not necessarily limited thereto and may include at least a portion of a known wired or wireless data communication network, a known telephone network, or a known wired or wireless television communication network.

예를 들면, 통신망(100)은 무선 데이터 통신망으로서, 와이파이(WiFi) 통신, 와이파이 다이렉트(WiFi-Direct) 통신, 롱텀 에볼루션(LTE; Long Term Evolution) 통신, 블루투스 통신(더 구체적으로는, 저전력 블루투스(BLE; Bluetooth Low Energy) 통신), 적외선 통신, 초음파 통신 등과 같은 종래의 통신 방법을 적어도 그 일부분에 있어서 구현하는 것일 수 있다.For example, the communication network 100 is a wireless data communication network, including Wi-Fi communication, WiFi-Direct communication, Long Term Evolution (LTE) communication, and Bluetooth communication (more specifically, low-power Bluetooth). (BLE; Bluetooth Low Energy) communication), infrared communication, ultrasonic communication, etc. may be implemented at least in part.

다음으로, 본 발명의 일 실시예에 따른 보정 시스템(200)은 통신망(100)을 통해 후술할 로봇(300)과 통신을 수행할 수 있고, 로봇(300)의 카메라 모듈(예를 들어, 3차원 카메라)에 의해 특정되는 제1 타겟 영역을 참조하여 제1 비교 대상 축을 결정하고, 로봇(300)의 스캐너 모듈(예를 들어, 라이다 센서)에 의해 특정되고 제1 타겟 영역과 연관되는 제2 타겟 영역을 참조하여 제2 비교 대상 축을 결정하며, 제1 비교 대상 축 및 제2 비교 대상 축 사이의 관계를 참조하여 로봇(300)의 카메라 모듈과 연관되는 기준 좌표계를 보정하는 기능을 수행할 수 있다.Next, the correction system 200 according to an embodiment of the present invention can communicate with the robot 300, which will be described later, through the communication network 100, and the camera module of the robot 300 (e.g., 3 A first comparison target axis is determined with reference to a first target area specified by a dimensional camera, and a first comparison target axis is specified by a scanner module (e.g., LiDAR sensor) of the robot 300 and is associated with the first target area. 2 Determines the second comparison target axis with reference to the target area, and performs the function of correcting the reference coordinate system associated with the camera module of the robot 300 by referring to the relationship between the first comparison target axis and the second comparison target axis. You can.

한편, 보정 시스템(200)에 관하여 위와 같이 설명하였으나, 이러한 설명은 예시적인 것이고, 보정 시스템(200)에 요구되는 기능이나 구성요소의 적어도 일부가 필요에 따라 후술할 로봇(300) 또는 외부 시스템(미도시됨) 내에서 실현되거나 로봇(300) 또는 외부 시스템 내에 포함될 수도 있음은 당업자에게 자명하다. 또한, 경우에 따라서는, 보정 시스템(200)의 모든 기능과 모든 구성요소가 로봇(300) 내에서 전부 실현되거나 로봇(300) 내에 전부 포함될 수도 있다.Meanwhile, although the correction system 200 has been described as above, this description is illustrative, and at least some of the functions or components required for the correction system 200 may be used as a robot 300 or an external system ( It is obvious to those skilled in the art that it may be implemented within the robot 300 (not shown) or included within the robot 300 or an external system. Additionally, in some cases, all functions and all components of the correction system 200 may be fully realized within the robot 300 or may be entirely included within the robot 300.

다음으로, 본 발명의 일 실시예에 따른 로봇(300)은 통신망(100)을 통해 보정 시스템(200)과 통신할 수 있고, 사용자에 의한 조작 없이도 소정의 기능이나 부여된 작업(예를 들어, 음식 서빙, 용기 회수 등)을 자율적으로 수행할 수 있는 기기로서, 객체(예를 들어, 음식 트레이)의 로딩 및 언로딩을 위한 모듈(예를 들어, 그랩, 로봇 팔 모듈 등), 주변 환경 정보를 획득하기 위한 카메라 모듈 또는 스캐너 모듈, 다양한 영상 또는 음성을 제공하기 위한 디스플레이 및 스피커 모듈, 및 로봇(300)의 이동을 위한 구동 모듈(예를 들어, 모터 등) 중 적어도 하나의 모듈을 포함할 수 있다. 예를 들어, 이러한 로봇(300)은 안내 로봇, 운반 로봇, 청소 로봇, 의료 로봇, 엔터테인먼트 로봇, 펫 로봇 및 무인 비행 로봇 중 적어도 하나와 유사한 특성이나 기능을 가지는 로봇일 수 있다.Next, the robot 300 according to an embodiment of the present invention can communicate with the correction system 200 through the communication network 100, and performs a predetermined function or assigned task (e.g., A device capable of autonomously performing food serving, container retrieval, etc.), modules (e.g. grabs, robotic arm modules, etc.) for loading and unloading objects (e.g. food trays), and surrounding environment information. It may include at least one module selected from the group consisting of a camera module or scanner module for acquiring a camera module or a scanner module, a display and speaker module for providing various images or voices, and a drive module (for example, a motor, etc.) for moving the robot 300. You can. For example, the robot 300 may be a robot that has characteristics or functions similar to at least one of a guide robot, a transport robot, a cleaning robot, a medical robot, an entertainment robot, a pet robot, and an unmanned flying robot.

한편, 본 발명의 일 실시예에 따르면, 로봇(300)에는 카메라 모듈과 연관되는 기준 좌표계를 보정하는 등의 본 발명에 따른 기능을 지원하는 애플리케이션이 포함되어 있을 수 있다. 이와 같은 애플리케이션은 보정 시스템(200) 또는 외부의 애플리케이션 배포 서버(미도시됨)로부터 다운로드된 것일 수 있다.Meanwhile, according to one embodiment of the present invention, the robot 300 may include an application that supports functions according to the present invention, such as correcting a reference coordinate system associated with a camera module. Such an application may be downloaded from the correction system 200 or an external application distribution server (not shown).

보정 시스템의 구성Configuration of the compensation system

이하에서는, 본 발명의 구현을 위하여 중요한 기능을 수행하는 보정 시스템(200)의 내부 구성 및 각 구성요소의 기능에 대하여 살펴보기로 한다.Below, we will look at the internal structure of the correction system 200 and the function of each component, which performs important functions for implementing the present invention.

도 2는 본 발명의 일 실시예에 따른 보정 시스템(200)의 내부 구성을 예시적으로 나타내는 도면이다.Figure 2 is a diagram illustrating the internal configuration of the correction system 200 according to an embodiment of the present invention.

도 2를 참조하면, 본 발명의 일 실시예에 따른 보정 시스템(200)은 비교 대상 축 결정부(210), 보정부(220), 통신부(230) 및 제어부(240)를 포함할 수 있다. 본 발명의 일 실시예에 따르면, 비교 대상 축 결정부(210), 보정부(220), 통신부(230) 및 제어부(240)는 그 중 적어도 일부가 외부 시스템(미도시됨)과 통신하는 프로그램 모듈들일 수 있다. 이러한 프로그램 모듈들은 운영 시스템, 응용 프로그램 모듈 및 기타 프로그램 모듈의 형태로 보정 시스템(200)에 포함될 수 있으며, 물리적으로는 여러 가지 공지의 기억 장치 상에 저장될 수 있다. 또한, 이러한 프로그램 모듈들은 보정 시스템(200)과 통신 가능한 원격 기억 장치에 저장될 수도 있다. 한편, 이러한 프로그램 모듈들은 본 발명에 따라 후술할 특정 업무를 수행하거나 특정 추상 데이터 유형을 실행하는 루틴, 서브루틴, 프로그램, 오브젝트, 컴포넌트, 데이터 구조 등을 포괄하지만, 이에 제한되지는 않는다.Referring to FIG. 2, the correction system 200 according to an embodiment of the present invention may include a comparison axis determination unit 210, a correction unit 220, a communication unit 230, and a control unit 240. According to an embodiment of the present invention, the comparison target axis determination unit 210, correction unit 220, communication unit 230, and control unit 240 are programs, at least some of which communicate with an external system (not shown). These can be modules. These program modules may be included in the correction system 200 in the form of operating systems, application modules, and other program modules, and may be physically stored in various known storage devices. Additionally, these program modules may be stored in a remote memory device capable of communicating with the calibration system 200. Meanwhile, these program modules include, but are not limited to, routines, subroutines, programs, objects, components, data structures, etc. that perform specific tasks or execute specific abstract data types according to the present invention.

먼저, 본 발명의 일 실시예에 따른 비교 대상 축 결정부(210)는 로봇(300)의 카메라 모듈에 의해 특정되는 제1 타겟 영역을 참조하여 제1 비교 대상 축을 결정하는 기능을 수행할 수 있다. 예를 들어, 본 발명의 일 실시예에 따른 제1 타겟 영역은 로봇(300)이 위치하는 장소(또는 공간)에서 둘 이상의 모서리가 만나는 지점 또는 대상을 포함하는 영역일 수 있다. 보다 구체적으로, 제1 타겟 영역에는 로봇(300)이 위치하는 장소의 벽 코너 영역(보다 구체적으로, 벽 코너의 꼭지점 영역)이 포함될 수 있다.First, the comparison axis determination unit 210 according to an embodiment of the present invention may perform the function of determining the first comparison axis with reference to the first target area specified by the camera module of the robot 300. . For example, the first target area according to an embodiment of the present invention may be a point where two or more edges meet or an area containing an object in the place (or space) where the robot 300 is located. More specifically, the first target area may include a wall corner area (more specifically, a vertex area of the wall corner) where the robot 300 is located.

예를 들어, 도 3의 (a) 및 (b)를 참조하면, 제1 타겟 영역은 로봇(300)이 위치하는 장소(예를 들어, 직육면체 형태의 방)의 벽 코너의 꼭지점(310)을 포함하는 영역(예를 들어, 이러한 영역은 카메라 모듈에 의해 포인트 클라우드, 폴리곤 등의 형태로 특정될 수 있음)일 수 있고, 비교 대상 축 결정부(210)는 제1 타겟 영역의 해당 꼭지점(310)을 중심으로 특정되는 3개의 모서리를 참조하여 제1 비교 대상 축(315)을 결정할 수 있다. 보다 구체적으로, 비교 대상 축 결정부(210)는 위의 꼭지점을 중심으로 서로 90도를 이루는 3개의 모서리 각각을 기준으로 복수의 축을 특정하고, 그 복수의 축을 제1 비교 대상 축(315)으로 결정할 수 있다.For example, referring to (a) and (b) of FIGS. 3, the first target area is the vertex 310 of the wall corner of the place where the robot 300 is located (e.g., a room in the shape of a rectangular parallelepiped). It may be an area (for example, such an area may be specified in the form of a point cloud, polygon, etc. by a camera module), and the comparison target axis determination unit 210 may be located at the corresponding vertex 310 of the first target area. ) The first comparison target axis 315 can be determined by referring to the three edges specified around ). More specifically, the comparison target axis determination unit 210 specifies a plurality of axes based on each of three corners forming 90 degrees with respect to the above vertex, and sets the plurality of axes as the first comparison target axis 315. You can decide.

다른 예를 들어, 제1 타겟 영역은 로봇(300)이 위치하는 장소(예를 들어, 침실)의 직육면체 형태의 침대의 꼭지점을 포함하는 영역(예를 들어, 이러한 영역은 카메라 모듈에 의해 포인트 클라우드, 폴리곤 등의 형태로 특정될 수 있음)일 수 있고, 비교 대상 축 결정부(210)는 제1 타겟 영역의 해당 꼭지점을 중심으로 특정되는 3개의 모서리를 참조하여 제1 비교 대상 축을 결정할 수 있다. 보다 구체적으로, 비교 대상 축 결정부(210)는 위의 꼭지점을 중심으로 서로 90도를 이루는 3개의 모서리 각각을 기준으로 복수의 축을 특정하고, 그 복수의 축을 제1 비교 대상 축으로 결정할 수 있다.For another example, the first target area is an area containing the vertices of a rectangular parallelepiped-shaped bed in a place where the robot 300 is located (e.g., a bedroom) (e.g., this area is a point cloud using a camera module. , may be specified in the form of a polygon, etc.), and the comparison axis determination unit 210 may determine the first comparison axis by referring to three edges specified around the corresponding vertex of the first target area. . More specifically, the comparison target axis determination unit 210 may specify a plurality of axes based on each of three corners forming 90 degrees with respect to the above vertex, and determine the plurality of axes as the first comparison target axis. .

또한, 비교 대상 축 결정부(210)는 로봇(300)의 스캐너 모듈에 의해 특정되고 제1 타겟 영역과 연관되는 제2 타겟 영역을 참조하여 제2 비교 대상 축을 결정하는 기능을 수행할 수 있다. 예를 들어, 본 발명의 일 실시예에 따른 제2 타겟 영역은 로봇(300)이 위치하는 장소(또는 공간)에서 둘 이상의 모서리가 만나는 지점 또는 대상을 포함하는 영역일 수 있고, 제1 타겟 영역과 동일하거나 그와 소정의 위치 관계 또는 기설정된 관계를 가질 수 있다. 보다 구체적으로, 제2 타겟 영역은 제1 타겟 영역에 포함되는 꼭지점을 기준으로 특정되는 3개의 모서리 중 하나 이상의 모서리를 공유하는 다른 꼭지점을 포함하는 영역이거나, 제1 타겟 영역에 포함되는 꼭지점과 소정의 위치 관계(예를 들어, 대칭 이동, 평행 이동, 회전 이동 등)에 있는 다른 꼭지점을 포함하는 영역일 수 있다. 예를 들어, 로봇(300)이 위치하는 장소가 직육면체 형태의 방인 경우에, 제1 타겟 영역이 그 방의 벽 코너의 특정 꼭지점을 포함하는 영역이라면, 제2 타겟 영역은 그 특정 꼭지점을 제외한 나머지 꼭지점 중 어느 하나를 포함하는 영역일 수 있다.Additionally, the comparison axis determination unit 210 may perform a function of determining a second comparison axis with reference to a second target area that is specified by the scanner module of the robot 300 and is associated with the first target area. For example, the second target area according to an embodiment of the present invention may be a point where two or more edges meet or an area containing an object in the place (or space) where the robot 300 is located, and the first target area It may be the same as or have a predetermined positional relationship or preset relationship with it. More specifically, the second target area is an area that includes another vertex that shares one or more edges among the three edges specified based on the vertex included in the first target area, or is an area that includes a vertex included in the first target area and a predetermined number of edges. It may be an area that includes other vertices in a positional relationship (e.g., symmetrical movement, parallel movement, rotational movement, etc.). For example, when the place where the robot 300 is located is a room in the shape of a rectangular parallelepiped, if the first target area is an area that includes a specific vertex of a wall corner of the room, the second target area is an area that includes the remaining vertices excluding the specific vertex. It may be an area containing any one of the following.

예를 들어, 다시 도 3의 (a) 및 (b)를 참조하면, 로봇(300)이 위치하는 장소(예를 들어, 직육면체 형태의 방)의 벽 코너의 하부 꼭지점(310)을 포함하는 영역이 앞서 살펴본 제1 타겟 영역인 경우에, 제1 타겟 영역과 연관되는 제2 타겟 영역은 해당 벽 코너의 상부 꼭지점을 포함하는 영역(예를 들어, 이러한 영역은 스캐너 모듈에 의해 포인트 클라우드, 폴리곤 등의 형태로 특정될 수 있음)일 수 있고, 비교 대상 축 결정부(210)는 그 상부 꼭지점을 기준으로 특정되는 3개의 모서리를 참조하여 제2 비교 대상 축(325)을 결정할 수 있다. 보다 구체적으로, 비교 대상 축 결정부(210)는 위의 상부 꼭지점을 중심으로 서로 90도를 이루는 3개의 모서리 각각을 기준으로 복수의 축을 특정하고, 그 복수의 축을 제2 비교 대상 축(325)으로 결정할 수 있다.For example, referring again to (a) and (b) of FIG. 3, the area including the lower vertex 310 of the corner of the wall of the place where the robot 300 is located (e.g., a room in the shape of a rectangular parallelepiped) In the case of the first target area discussed above, the second target area associated with the first target area is an area containing the upper vertex of the corresponding wall corner (e.g., such area is a point cloud, polygon, etc. may be specified in the form of), and the comparison axis determination unit 210 may determine the second comparison axis 325 by referring to three corners specified based on the upper vertex. More specifically, the comparison target axis determination unit 210 specifies a plurality of axes based on each of three corners forming 90 degrees with respect to the upper vertex, and refers to the plurality of axes as the second comparison target axis 325. can be decided.

다음으로, 본 발명의 일 실시예에 따른 보정부(220)는 비교 대상 축 결정부(210)에 의해 결정되는 제1 비교 대상 축 및 제2 비교 대상 축 사이의 관계를 참조하여 카메라 모듈과 연관되는 기준 좌표계를 보정할 수 있다. 본 발명의 일 실시예에 따른 카메라 모듈과 연관되는 기준 좌표계는 카메라 모듈이 실세계 객체를 인식하기 위하여 이용하는 소정의 좌표계(예를 들어, 직각 좌표계, 원통 좌표계, 구 좌표계 등) 또는 카메라 모듈의 광학축에 기초하여 특정되는 좌표계를 포함할 수 있다. 한편, 이러한 기준 좌표계는 카메라 모듈이 로봇(300)에 설치 또는 고정되는 위치 또는 방향을 참조하여 결정될 수도 있다.Next, the correction unit 220 according to an embodiment of the present invention associates the camera module with reference to the relationship between the first comparison axis and the second comparison axis determined by the comparison axis determination unit 210. The reference coordinate system can be corrected. The reference coordinate system associated with the camera module according to an embodiment of the present invention is a predetermined coordinate system (e.g., rectangular coordinate system, cylindrical coordinate system, spherical coordinate system, etc.) used by the camera module to recognize real-world objects or the optical axis of the camera module. It may include a coordinate system specified based on . Meanwhile, this reference coordinate system may be determined with reference to the position or direction in which the camera module is installed or fixed to the robot 300.

예를 들어, 보정부(220)는 제1 비교 대상 축 및 제2 비교 대상 축을 비교하여 특정되는 양자 간의 거리 또는 각도(또는 사잇각)를 참조하여 카메라 모듈의 보정 전 기준 좌표계를 평행 이동 또는 회전 이동시킴으로써 카메라 모듈의 보정된 기준 좌표계를 결정할 수 있다.For example, the correction unit 220 translates or rotates the reference coordinate system before correction of the camera module by referring to the distance or angle (or angle between the two) specified by comparing the first comparison target axis and the second comparison target axis. By doing so, the calibrated reference coordinate system of the camera module can be determined.

보다 구체적으로, 도 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).More specifically, referring to FIG. 4, the correction unit 220 uses a base reference coordinate system 401 (e.g., a robot operating system; (or a reference coordinate system associated with the scanner module) and a pre-calibration reference coordinate system 402 of the camera module (e.g., a coordinate system specified based on the base_footprint defined in the ROS platform) (e.g., a reference coordinate system specified based on the camera_fixed_link defined in the ROS platform) The relationship 407 between the coordinate systems) can be determined. For example, this relationship may be determined by referring to a preset or predetermined positional relationship (for example, a positional relationship between the center of the floor where the robot 300 is located and the point where the camera module is installed). Next, the correction unit 220 specifies the first comparison target axis 403 based on the base reference coordinate system 401 (or a reference coordinate system associated with the scanner module), and the reference coordinate system 402 before correction of the camera module. ), the second comparison target axis 404 can be specified based on. Next, the correction unit 220 determines the relationship 407 between the base reference coordinate system 401 and the pre-correction reference coordinate system 402 of the camera module, the first comparison target axis 403, and the second comparison target axis ( By correcting the reference coordinate system 402 before correction of the camera module with reference to the relationship 405 between 404) (408), the corrected reference coordinate system 406 of the camera module can be determined. Meanwhile, in the above correction process, correction may be performed by considering the extrinsic parameters and intrinsic parameters of the camera module (409, 410).

도 5의 (a)를 참조하면, 카메라 모듈과 스캐너 모듈을 통해 벽 코너(501)를 특정하는 경우에(예를 들어, 카메라 모듈 및 스캐너 모듈 각각에 의해 벽 코너에 대한 포인트 클라우드를 획득함), 보정 전에는 베이스 기준 좌표계(또는 스캐너 모듈의 기준 좌표계)에서 특정되는 벽 코너의 위치(510)와 카메라 모듈의 기준 좌표계(402)에서 특정되는 벽 코너의 위치(520)에 차이가 발생할 수 있다. 하지만, 도 5의 (b)를 참조하면, 보정 후에는 베이스 기준 좌표계(또는 스캐너 모듈의 기준 좌표계)에서 특정되는 벽 코너의 위치(510)와 카메라 모듈의 기준 좌표계(402)에서 특정되는 벽 코너의 위치(520)가 서로 일치할 수 있다.Referring to (a) of FIG. 5, when the wall corner 501 is specified through the camera module and the scanner module (for example, a point cloud for the wall corner is acquired by each of the camera module and the scanner module) , Before correction, there may be a difference between the position 510 of the wall corner specified in the base reference coordinate system (or the reference coordinate system of the scanner module) and the position 520 of the wall corner specified in the reference coordinate system 402 of the camera module. However, referring to (b) of FIG. 5, after correction, the position of the wall corner specified in the base reference coordinate system (or the reference coordinate system of the scanner module) 510 and the wall corner specified in the reference coordinate system 402 of the camera module The positions 520 may coincide with each other.

또한, 보정부(220)는 로봇(300)이 위치한 바닥면 및 카메라 모듈에 의해 특정되는 기준면 사이의 관계를 참조하여 카메라 모듈과 연관되는 기준 좌표계를 보정할 수 있다.Additionally, the correction unit 220 may correct the reference coordinate system associated with the camera module by referring to the relationship between the floor surface on which the robot 300 is located and the reference surface specified by the camera module.

예를 들어, 보정부(220)는 로봇(300)이 위치한 바닥면과 카메라 모듈에 의해 특정되는 기준면 사이의 각도를 참조하여 카메라 모듈과 연관되는 기준 좌표계를 보정할 수 있다. 예를 들어, 도 6을 참조하면, 보정부(220)는 로봇(300)이 위치한 바닥면(610)과 카메라 모듈에 의해 특정되는 기준면(620)의 사잇각 및 회전축을 결정할 수 있고(예를 들어, 바닥면(610) 법선 벡터가 N1이고 기준면(620)의 법선 벡터가 N2인 경우에, N1 및 N2의 외적 연산에 기초하여 위의 회전축을 산출하고, N1 및 N2의 내적에 대한 아크코사인(arccos) 연산에 기초하여 위의 사잇각이 산출될 수 있음), 위의 사잇각 및 회전축을 기반으로 로드리그의 회전 공식(Rodrigues' rotation formula)을 적용한 결과를 바탕으로 카메라 모듈과 연관되는 기준 좌표계를 보정할 수 있다.For example, the correction unit 220 may correct the reference coordinate system associated with the camera module by referring to the angle between the floor surface where the robot 300 is located and the reference plane specified by the camera module. For example, referring to FIG. 6, the correction unit 220 may determine the angle and rotation axis of the floor surface 610 on which the robot 300 is located and the reference surface 620 specified by the camera module (e.g. , when the normal vector of the floor surface 610 is N1 and the normal vector of the reference surface 620 is N2, the above rotation axis is calculated based on the outer product of N1 and N2, and the arccosine of the inner product of N1 and N2 ( The above included angle can be calculated based on the arccos calculation), and the reference coordinate system associated with the camera module is corrected based on the result of applying Rodrigues' rotation formula based on the above included angle and rotation axis. can do.

다른 예를 들어, 보정부(220)는 카메라 모듈에 의해 특정되는 지표면의 적어도 세 개의 지점을 이용하여 후보 기준면을 특정할 수 있다. 그 다음에, 보정부(220)는 카메라 모듈에 의해 특정되는 지표면의 복수의 지점 중 후보 기준면으로부터 소정 거리 이내에 존재하는 지점의 수를 결정할 수 있다. 그 다음에, 보정부(220)는 위의 후보 기준면을 포함하는 복수의 후보 기준면 중에서 위의 지점의 수가 소정 수준 이상인 후보 기준면(예를 들어, 소정 거리 이내에 존재하는 지점의 수가 가장 많은 후보 기준면)을 카메라 모듈에 의해 특정되는 기준면으로 결정할 수 있다.For another example, the correction unit 220 may specify a candidate reference surface using at least three points on the ground surface specified by the camera module. Next, the correction unit 220 may determine the number of points that exist within a predetermined distance from the candidate reference surface among the plurality of points on the ground surface specified by the camera module. Next, the correction unit 220 selects a candidate reference surface whose number of points is above a predetermined level or more (for example, a candidate reference surface with the largest number of points existing within a predetermined distance) among a plurality of candidate reference surfaces including the above candidate reference surface. can be determined as a reference plane specified by the camera module.

또 다른 예를 들어, 보정부(220)는 카메라 모듈에 의해 특정되는 지표면의 적어도 세 개의 지점을 이용하여 후보 기준면을 특정할 수 있다. 그 다음에, 보정부(220)는 카메라 모듈에 의해 특정되는 지표면의 복수의 지점 중 후보 기준면으로부터 소정 거리 이내에 존재하는 지점을 결정할 수 있다. 그 다음에, 보정부(220)는 위의 후보 기준면을 포함하는 복수의 후보 기준면 중에서 위의 지점을 참조하여(예를 들어, 위의 지점을 회귀 분석(예를 들어, 로지스틱 회귀 분석 등)한 결과를 참조하여) 카메라 모듈에 의해 특정되는 기준면을 결정할 수 있다.For another example, the correction unit 220 may specify a candidate reference surface using at least three points on the ground surface specified by the camera module. Next, the correction unit 220 may determine a point that exists within a predetermined distance from the candidate reference surface among a plurality of points on the ground surface specified by the camera module. Next, the correction unit 220 performs regression analysis (e.g., logistic regression analysis, etc.) on the above point with reference to the above point among the plurality of candidate reference surfaces including the above candidate reference surface. (Referring to the results), the reference plane specified by the camera module can be determined.

또한, 보정부(220)는 스캐너 모듈에 의해 특정되는 소정 지점을 기준으로 결정되는 로봇(300)의 이동 거리 및 회전 각도 중 적어도 하나를 참조하여 로봇(300)의 이동 속성 정보를 보정할 수 있다. 본 발명의 일 실시예에 따른 로봇(300)의 이동 속성 정보에는 로봇(300)의 휠(또는 바퀴)의 크기(예를 들어, 반지름, 둘레 길이 등), 휠 베이스의 길이 등에 관한 정보가 포함될 수 있다.In addition, the correction unit 220 may correct the movement attribute information of the robot 300 with reference to at least one of the movement distance and rotation angle of the robot 300 determined based on a predetermined point specified by the scanner module. . The movement attribute information of the robot 300 according to an embodiment of the present invention includes information about the size of the wheel (or wheels) of the robot 300 (e.g., radius, circumference length, etc.), the length of the wheel base, etc. You can.

예를 들어, 도 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-차이)로 특정될 수 있다.For example, referring to FIG. 7, the correction unit 220 moves the robot 300 forward or backward 710 (710) based on a predetermined point 701 (for example, a wall corner) specified by the scanner module. Alternatively, it can be moved forward or backward repeatedly, and the actual moving distance of the robot 300 specified based on the predetermined point 701 above (for example, the robot 300 based on the predetermined point 701 above) The actual moving distance can be calculated by calculating the position of) and the recorded moving distance of the robot 300 (e.g., the distance measured by the odometer of the robot 300). (Meanwhile, this operation may be performed repeatedly), and information about the size of the wheels of the robot 300 can be corrected based on the difference. For example, assuming that the actual radius of the wheel and the estimated radius of the wheel are r' and r, respectively, and that the angular velocities of the left and right wheels are W L and W R , respectively, the estimated translation speed of the wheel (v_estimated) and the actual translation speed of the wheel are The difference between (v_real), that is, (v_real-v_estimated)/v_real, can be calculated as 1-r/r', and the actual radius of the wheel can be specified as r'=r/(1-difference).

다른 예를 들어, 보정부(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-차이)로 특정될 수 있다.For another example, the correction unit 220 may rotate (or repeatedly rotate) the robot 300 clockwise or counterclockwise 720 based on a predetermined point specified by the scanner module. The actual rotation angle of the robot 300 specified based on a predetermined point (for example, the actual rotation angle can be calculated by calculating the angle of the robot 300 based on the predetermined point above) and the robot 300 Calculate the difference between the recorded rotation angles (e.g., the rotation angle measured by the odometer of the robot 300) and correct information regarding the length of the wheel base of the robot 300 based on the difference. You can. For example, assuming that the actual length of the wheel base and the estimated length of the wheel base are l' and l, respectively, and that the angular velocities of the left and right wheels are W L and W R , respectively, the estimated rotational speed of the wheel (w_estimated) and the actual length of the wheel The difference between rotational speeds (w_real), i.e. (w_real-w_estimated)/w_real, can be calculated as 1-l'/l, and the actual length of the wheel base can be specified as l'=l*(1-difference) .

다음으로, 본 발명의 일 실시예에 따르면, 통신부(230)는 비교 대상 축 결정부(210) 및 보정부(220)로부터의/로의 데이터 송수신이 가능하도록 하는 기능을 수행할 수 있다.Next, according to an embodiment of the present invention, the communication unit 230 may perform a function that enables data transmission and reception to/from the comparison target axis determination unit 210 and the correction unit 220.

마지막으로, 본 발명의 일 실시예에 따르면, 제어부(240)는 비교 대상 축 결정부(210), 보정부(220) 및 통신부(230) 간의 데이터의 흐름을 제어하는 기능을 수행할 수 있다. 즉, 본 발명의 일 실시예에 따른 제어부(240)는 보정 시스템(200)의 외부로부터의/로의 데이터 흐름 또는 보정 시스템(200)의 각 구성요소 간의 데이터 흐름을 제어함으로써, 비교 대상 축 결정부(210), 보정부(220) 및 통신부(230)에서 각각 고유 기능을 수행하도록 제어할 수 있다.Finally, according to an embodiment of the present invention, the control unit 240 may perform a function of controlling the flow of data between the comparison axis determination unit 210, the correction unit 220, and the communication unit 230. That is, the control unit 240 according to an embodiment of the present invention controls the data flow to/from the outside of the compensation system 200 or the data flow between each component of the compensation system 200, thereby controlling the comparison target axis determination unit. 210, the correction unit 220, and the communication unit 230 can each be controlled to perform their own functions.

실시예Example

본 발명의 일 실시예에 따른 로봇(300)이 레스토랑에 위치하는 상황을 가정해 볼 수 있다.It can be assumed that the robot 300 according to an embodiment of the present invention is located in a restaurant.

먼저, 본 발명의 일 실시예에 따르면, 로봇(300)이 레스토랑의 벽 코너로 이동될 수 있다. 이러한 레스토랑은 직육면체 형태의 장소일 수 있다.First, according to one embodiment of the present invention, the robot 300 can be moved to a corner of a wall in a restaurant. Such a restaurant may be a rectangular parallelepiped-shaped place.

그 다음에, 본 발명의 일 실시예에 따르면, 로봇(300)의 카메라 모듈에 의해 특정되는 벽 코너 영역을 참조하여 제1 비교 대상 축이 결정되고, 로봇(300)의 스캐너 모듈에 의해 특정되는 벽 코너 영역을 참조하여 제2 비교 대상 축이 결정될 수 있다. 예를 들어, 카메라 모듈에 의해 특정되는 벽 코너 영역과 스캐너 모듈에 의해 특정되는 벽 코너 영역은 동일한 벽 코너 영역일 수 있고, 소정의 위치 관계 또는 기설정된 관계를 갖는 다른 벽 코너 영역일 수도 있다.Then, according to one embodiment of the present invention, the first comparison target axis is determined with reference to the wall corner area specified by the camera module of the robot 300, and the first comparison target axis is determined by the scanner module of the robot 300. The second comparison target axis may be determined with reference to the wall corner area. For example, the wall corner area specified by the camera module and the wall corner area specified by the scanner module may be the same wall corner area or may be different wall corner areas having a predetermined positional relationship or a preset relationship.

그 다음에, 본 발명의 일 실시예에 따르면, 위의 제1 비교 대상 축 및 제2 비교 대상 축 사이의 관계를 참조하여 카메라 모듈과 연관되는 기준 좌표계가 보정될 수 있다.Then, according to an embodiment of the present invention, the reference coordinate system associated with the camera module may be corrected with reference to the relationship between the first and second comparison axes above.

또한, 로봇(300)을 운용하는 과정에서 온도가 올라가게 되면, 카메라 모듈에 에러가 발생할 수 있다. 이 경우에, 로봇(300)이 위치한 바닥면과 카메라 모듈에 의해 특정되는 기준면 사이의 각도를 참조하여 카메라 모듈과 연관되는 기준 좌표계가 보정될 수 있다.Additionally, if the temperature rises during the operation of the robot 300, an error may occur in the camera module. In this case, the reference coordinate system associated with the camera module can be corrected by referring to the angle between the floor surface where the robot 300 is located and the reference plane specified by the camera module.

예를 들어, 카메라 모듈에 의해 특정되는 지표면의 적어도 세 개의 지점을 이용하여 후보 기준면이 특정되고, 그 지표면의 복수의 지점 중 후보 기준면으로부터 소정 거리 이내에 존재하는 지점의 수가 결정되며, 위의 후보 기준면을 포함하는 복수의 후보 기준면 중에서 위의 지점의 수가 소정 수준 이상인 후보 기준면이 카메라 모듈에 의해 특정되는 기준면으로 결정될 수 있다.For example, a candidate reference surface is specified using at least three points on the ground surface specified by a camera module, the number of points that exist within a predetermined distance from the candidate reference surface among a plurality of points on the ground surface is determined, and the candidate reference surface above is determined. Among the plurality of candidate reference surfaces including, the candidate reference surface with the number of the above points above a predetermined level may be determined as the reference surface specified by the camera module.

한편, 본 발명의 일 실시예에 따르면, 로봇(300)의 카메라 모듈의 온도를 참조하여 에러율(구체적으로, 지표면과 카메라 모듈의 롤 방향의 각도 차이에 관한 에러율)이 소정 수준 이상인 경우에 위의 보정이 이루어질 수도 있다.Meanwhile, according to an embodiment of the present invention, when the error rate (specifically, the error rate related to the angle difference between the ground surface and the roll direction of the camera module) is above a predetermined level with reference to the temperature of the camera module of the robot 300, the above Corrections may be made.

또한, 본 발명의 일 실시예에 따르면, 로봇(300)을 운용하는 과정에서 로봇(300)의 바퀴가 마모되거나 레스토랑의 바닥이 고르지 못한 상태일 수 있다. 이 경우에, 스캐너 모듈에 의해 특정되는 소정 지점을 기준으로 결정되는 로봇(300)의 이동 거리 및 회전 각도 중 적어도 하나를 참조하여 로봇(300)의 이동 속성 정보가 보정될 수 있다. 한편, 본 발명의 일 실시예에 따르면, 로봇(300)의 이동 속성 정보를 보정하는 과정은 카메라 모듈과 연관되는 기준 좌표계를 보정하는 과정과 동시에 이루어질 수 있고, 바닥 상태, 마모 상태 등에 따라 그 이전 또는 그 이후에 이루어질 수도 있다.Additionally, according to one embodiment of the present invention, during the process of operating the robot 300, the wheels of the robot 300 may be worn or the floor of the restaurant may be uneven. In this case, movement attribute information of the robot 300 may be corrected with reference to at least one of the movement distance and rotation angle of the robot 300 determined based on a predetermined point specified by the scanner module. Meanwhile, according to one embodiment of the present invention, the process of correcting the movement attribute information of the robot 300 may be performed simultaneously with the process of correcting the reference coordinate system associated with the camera module, and may be performed before or after depending on the ground condition, wear condition, etc. Or it may happen later.

로봇의 구성Composition of the robot

본 발명의 일 실시예에 따른 로봇(300)은 안내 로봇, 서빙 로봇, 운반 로봇, 청소 로봇, 의료 로봇, 엔터테인먼트 로봇, 펫 로봇 및 무인 비행 로봇 중 적어도 하나가 수행하는 작업과 유사한 작업을 수행하는 로봇일 수 있으며, 이를 위하여 각 작업에 부합하는 다양한 형상으로 구현될 수 있다.The robot 300 according to an embodiment of the present invention performs tasks similar to those performed by at least one of a guide robot, a serving robot, a transport robot, a cleaning robot, a medical robot, an entertainment robot, a pet robot, and an unmanned flying robot. It may be a robot, and for this purpose, it may be implemented in various shapes to suit each task.

도 8 및 도 9는 본 발명의 일 실시예에 따른 로봇의 구조를 예시적으로 나타내는 도면이다.8 and 9 are diagrams illustrating the structure of a robot according to an embodiment of the present invention.

도 8을 참조하면, 로봇(300)은 본체(810), 구동부(820a, 820b, 820c, 820d) 및 프로세서(830)를 포함하여 구성될 수 있다.Referring to FIG. 8, the robot 300 may include a main body 810, driving units 820a, 820b, 820c, and 820d, and a processor 830.

예를 들어, 본 발명의 일 실시예에 따른 본체(810)에는 운송 대상 객체 또는 회수 대상 객체를 적재하기 위한 적어도 하나의 적재 공간이 포함될 수 있다. 본 발명의 일 실시예에 따른 운송 대상 객체 및 회수 대상 객체는 이동될 수 있는 모든 유형물을 총칭하는 개념으로, 예를 들어 사물, 동물, 사람 등을 포함하는 개념일 수 있다. 예를 들어, 운송 대상 객체는 음식물이고, 회수 대상 객체는 해당 음식물이 담긴 용기일 수 있다.For example, the main body 810 according to an embodiment of the present invention may include at least one loading space for loading an object to be transported or an object to be recovered. The object to be transported and the object to be recovered according to an embodiment of the present invention are concepts that collectively refer to all tangible objects that can be moved, and may include, for example, objects, animals, people, etc. For example, the object to be transported may be food, and the object to be recovered may be a container containing the food.

도 9를 참조하면, 예를 들어 로봇(300)이 서빙 로봇인 경우에, 운송 대상 객체의 제공 및 회수 대상 객체의 수거를 위한 제1 공간(910) 및 제2 공간(920)을 포함할 수 있다. 또한, 로봇(300)은 착탈식 기둥을 통해 제공되는 확장 공간인 제3 공간(930)을 더 포함할 수 있고, 필요에 따라 확장 공간을 더 추가함으로써 더 많은 적재 공간을 구비할 수 있다. 또한, 로봇(300)은 운송 대상 객체 또는 회수 대상 객체 전용의 트레이(940)를 더 포함할 수도 있다. 예를 들어, 트레이(940)는 위에서 볼 때에 그 상면에 복수 개의 원형 홈이 형성된 구성을 가질 수 있다. 각각의 원형 홈은 음료가 담긴 컵의 하부가 안착되어 쉽게 어느 정도 고정되도록 형성되어 있을 수 있다. 이러한 원형 홈의 크기는 다양할 수 있다. 또한, 로봇(300)의 제1 공간(910)의 하부에는 로봇(300)의 측면을 통하여 꺼내어질 수 있는 제4 공간(950)이 더 포함될 수 있다. 본 발명의 일 실시예에 따른 제4 공간(950)은 그 내부에 빈 공간이 형성되어 있고, 측면은 막혀 있으며, 윗면은 열려 있고 아랫면은 닫혀 있는, 바구니와 유사한 형태를 가질 수 있다. 다만, 본 발명에 따른 로봇(300)의 적재 공간이 위의 열거된 내용에 한정되어 구현되는 것은 아니고, 본 발명의 목적을 달성할 수 있는 범위 내에서 다른 형태의 적재 공간 등으로 다양하게 구현될 수 있다.Referring to FIG. 9, for example, when the robot 300 is a serving robot, it may include a first space 910 and a second space 920 for providing objects to be transported and collecting objects to be recovered. there is. Additionally, the robot 300 may further include a third space 930, which is an expansion space provided through a detachable pillar, and can be provided with more loading space by adding more expansion spaces as needed. Additionally, the robot 300 may further include a tray 940 dedicated to objects to be transported or objects to be recovered. For example, the tray 940 may have a configuration in which a plurality of circular grooves are formed on its upper surface when viewed from above. Each circular groove may be formed so that the lower part of the cup containing the beverage is seated and easily fixed to some extent. The size of these circular grooves may vary. Additionally, a fourth space 950 that can be taken out through the side of the robot 300 may be further included below the first space 910 of the robot 300. The fourth space 950 according to an embodiment of the present invention may have a shape similar to a basket in which an empty space is formed inside the fourth space, the sides are closed, the upper surface is open, and the lower surface is closed. However, the loading space of the robot 300 according to the present invention is not limited to the contents listed above, and can be implemented in various ways, such as other types of loading space, within the scope of achieving the purpose of the present invention. You can.

한편, 다시 도 8을 참조하면, 본체(810)에는 주변 영상(예를 들어, 고객, 테이블, 종업원, 다른 로봇(300) 등) 및 장애물 정보를 획득하기 위한 카메라 모듈(예를 들어, 3차원 카메라)(미도시됨) 및 스캐너 모듈(예를 들어, 라이다 센서 등)(미도시됨)이 더 포함될 수 있다.Meanwhile, referring again to FIG. 8, the main body 810 is equipped with a camera module (e.g., a three-dimensional A camera) (not shown) and a scanner module (e.g., lidar sensor, etc.) (not shown) may be further included.

다음으로, 본 발명의 일 실시예에 따른 구동부(820a, 820b, 820c, 820d)는 본체(810)를 다른 지점으로 이동시키기 위한 모듈 또는 운송 대상 객체 및 회수 대상 객체를 로딩 및 언로딩하기 위한 모듈을 포함하여 구성될 수 있다.Next, the driving units 820a, 820b, 820c, and 820d according to an embodiment of the present invention are modules for moving the main body 810 to another point or modules for loading and unloading objects to be transported and objects to be recovered. It may be configured to include.

예를 들어, 구동부(820a, 820b, 820c, 820d)는 본체(810)를 다른 지점으로 이동시키기 위한 모듈로서, 전기식, 기계식, 또는 유압식으로 구동되는 바퀴, 프로펠러 등에 관한 모듈 등을 포함할 수 있고, 운송 대상 객체 및 회수 대상 객체를 로딩 및 언로딩하기 위한 모듈로서, 운송 대상 객체 및 회수 대상 객체를 장착하여 운반하기 위한 로봇 팔 모듈 등을 포함할 수 있다.For example, the driving units 820a, 820b, 820c, and 820d are modules for moving the main body 810 to another point and may include modules for wheels, propellers, etc. that are driven electrically, mechanically, or hydraulically. , a module for loading and unloading the transport object and the retrieved object, and may include a robot arm module for mounting and transporting the transport object and the retrieved object.

다음으로, 본 발명의 일 실시예에 따른 프로세서(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) 등의 처리 장치를 포함할 수 있다.Next, the processor 830 according to an embodiment of the present invention is electrically connected to the driving units 820a, 820b, 820c, and 820d and can perform a function of controlling the driving units 820a, 820b, 820c, and 820d. Data processing built into hardware (which may further include communication modules for communication with external systems), for example, having physically structured circuits to perform functions expressed as codes or instructions included within a program. It can mean a device. For example, data processing devices built into hardware like this include a microprocessor, central processing unit, processor core, multiprocessor, and application-specific integrated circuit (ASIC). , and may include processing devices such as FPGA (field programmable gate array).

또한, 프로세서(830)는 본 발명에 따른 보정 시스템(200)의 비교 대상 축 결정부(210) 및 보정부(220) 중 적어도 하나의 기능을 수행할 수 있고(예를 들어, 해당 기능이 모듈화되어 프로세서(830)에 포함될 수 있음), 비교 대상 축 결정부(210) 및 보정부(220) 중 적어도 하나의 기능을 수행하는 외부 시스템(미도시됨)과의 통신을 통해 구동부(820a, 820b, 820c, 820d)를 제어하는 기능을 수행할 수도 있다.In addition, the processor 830 may perform at least one function of the comparison target axis determination unit 210 and the correction unit 220 of the correction system 200 according to the present invention (for example, the corresponding function may be modularized). may be included in the processor 830), the comparison target axis determination unit 210, and the correction unit 220 through communication with an external system (not shown) that performs the function of at least one of the drive units 820a and 820b. , 820c, 820d) may also perform a function of controlling.

구체적으로, 프로세서(830)는 로봇(300)의 카메라 모듈에 의해 특정되는 제1 타겟 영역을 참조하여 제1 비교 대상 축을 결정하고, 로봇(300)의 스캐너 모듈에 의해 특정되고 제1 타겟 영역과 연관되는 제2 타겟 영역을 참조하여 제2 비교 대상 축을 결정하며, 제1 비교 대상 축 및 제2 비교 대상 축 사이의 관계를 참조하여 로봇(300)의 카메라 모듈과 연관되는 기준 좌표계를 보정하는 기능을 수행할 수 있다.Specifically, the processor 830 determines the first comparison target axis with reference to the first target area specified by the camera module of the robot 300, and the first target area and the first target area specified by the scanner module of the robot 300. A function to determine the second comparison target axis with reference to the associated second target area and to correct the reference coordinate system associated with the camera module of the robot 300 by referring to the relationship between the first comparison target axis and the second comparison target axis. can be performed.

이상 설명된 본 발명에 따른 실시예는 다양한 컴퓨터 구성요소를 통하여 실행될 수 있는 프로그램 명령어의 형태로 구현되어 컴퓨터 판독 가능한 기록 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능한 기록 매체는 프로그램 명령어, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 컴퓨터 판독 가능한 기록 매체에 기록되는 프로그램 명령어는 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 판독 가능한 기록 매체의 예에는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령어의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함된다. 하드웨어 장치는 본 발명에 따른 처리를 수행하기 위하여 하나 이상의 소프트웨어 모듈로 변경될 수 있으며, 그 역도 마찬가지이다.The embodiments according to the present invention described above can be implemented in the form of program instructions that can be executed through various computer components and recorded on a computer-readable recording medium. The computer-readable recording medium may include program instructions, data files, data structures, etc., singly or in combination. Program instructions recorded on the computer-readable recording medium may be specially designed and configured for the present invention, or may be known and usable by those skilled in the computer software field. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical recording media such as CD-ROMs and DVDs, and magneto-optical media such as floptical disks. medium), and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, etc. Examples of program instructions include not only machine language code such as that created by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. A hardware device can be converted into one or more software modules to perform processing according to the invention and vice versa.

이상에서 본 발명이 구체적인 구성요소 등과 같은 특정 사항과 한정된 실시예 및 도면에 의하여 설명되었으나, 이는 본 발명의 보다 전반적인 이해를 돕기 위하여 제공된 것일 뿐, 본 발명이 상기 실시예에 한정되는 것은 아니며, 본 발명이 속하는 기술분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정과 변경을 꾀할 수 있다.In the above, the present invention has been described in terms of specific details, such as specific components, and limited embodiments and drawings, but this is only provided to facilitate a more general understanding of the present invention, and the present invention is not limited to the above embodiments. Anyone with ordinary knowledge in the technical field to which the invention pertains can make various modifications and changes from this description.

따라서, 본 발명의 사상은 상기 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be limited to the above-described embodiments, and the scope of the patent claims described below as well as all scopes equivalent to or equivalently changed from the scope of the claims are within the scope of the spirit of the present invention. It will be said to belong to

100: 통신망
200: 보정 시스템
210: 비교 대상 축 결정부
220: 보정부
230: 통신부
240: 제어부
300: 로봇
100: communication network
200: correction system
210: Axis determination unit to be compared
220: Correction unit
230: Department of Communications
240: control unit
300: robot

Claims (23)

로봇을 제어하기 위한 방법으로서,
로봇의 카메라 모듈에 의해 특정되는 제1 타겟 영역을 참조하여 제1 비교 대상 축을 결정하고, 상기 로봇의 스캐너 모듈에 의해 특정되고 상기 제1 타겟 영역과 연관되는 제2 타겟 영역을 참조하여 제2 비교 대상 축을 결정하는 단계, 및
상기 제1 비교 대상 축 및 상기 제2 비교 대상 축 사이의 관계를 참조하여 상기 카메라 모듈과 연관되는 기준 좌표계를 보정하는 단계를 포함하는
방법.
As a method for controlling a robot,
A first comparison target axis is determined with reference to a first target area specified by the robot's camera module, and a second comparison is made with reference to a second target area specified by the robot's scanner module and associated with the first target area. determining the target axis, and
Comprising the step of correcting a reference coordinate system associated with the camera module with reference to the relationship between the first comparison target axis and the second comparison target axis.
method.
제1항에 있어서,
상기 제1 타겟 영역 또는 상기 제2 타겟 영역은, 상기 로봇이 위치하는 장소에서 둘 이상의 모서리가 만나는 지점 또는 대상을 포함하는
방법.
According to paragraph 1,
The first target area or the second target area includes a point or object where two or more edges meet at the location where the robot is located.
method.
제1항에 있어서,
상기 결정 단계에서, 상기 제1 타겟 영역에서 특정되는 모서리를 참조하여 상기 제1 비교 대상 축을 결정하고, 상기 제2 타겟 영역에서 특정되는 모서리를 참조하여 상기 제2 비교 대상 축을 결정하는
방법.
According to paragraph 1,
In the determination step, the first comparison target axis is determined with reference to the edge specified in the first target area, and the second comparison target axis is determined with reference to the edge specified in the second target area.
method.
제1항에 있어서,
상기 보정 단계에서, 상기 로봇이 위치한 바닥면 및 상기 카메라 모듈에 의해 특정되는 기준면 사이의 관계를 참조하여 상기 카메라 모듈과 연관되는 기준 좌표계를 보정하는
방법.
According to paragraph 1,
In the correction step, the reference coordinate system associated with the camera module is corrected by referring to the relationship between the floor surface on which the robot is located and the reference surface specified by the camera module.
method.
제4항에 있어서,
상기 로봇이 위치한 바닥면과 상기 카메라 모듈에 의해 특정되는 기준면 사이의 각도를 참조하여 상기 카메라 모듈과 연관되는 기준 좌표계를 보정하는
방법.
According to paragraph 4,
Correcting the reference coordinate system associated with the camera module by referring to the angle between the floor surface on which the robot is located and the reference surface specified by the camera module.
method.
제4항에 있어서,
상기 카메라 모듈에 의해 특정되는 지표면의 적어도 세 개의 지점을 이용하여 후보 기준면을 특정하고, 상기 지표면의 복수의 지점 중 상기 후보 기준면으로부터 소정 거리 이내에 존재하는 지점의 수를 결정하며, 상기 후보 기준면을 포함하는 복수의 후보 기준면 중에서 상기 지점의 수가 소정 수준 이상인 후보 기준면을 상기 카메라 모듈에 의해 특정되는 기준면으로 결정하는
방법.
According to paragraph 4,
Specifies a candidate reference surface using at least three points on the ground surface specified by the camera module, determines the number of points that exist within a predetermined distance from the candidate reference surface among a plurality of points on the ground surface, and includes the candidate reference surface. Among a plurality of candidate reference surfaces, the candidate reference surface with the number of points above a predetermined level is determined as the reference surface specified by the camera module.
method.
제4항에 있어서,
상기 카메라 모듈에 의해 특정되는 지표면의 적어도 세 개의 지점을 이용하여 후보 기준면을 특정하고, 상기 지표면의 복수의 지점 중 상기 후보 기준면으로부터 소정 거리 이내에 존재하는 지점을 결정하며, 상기 후보 기준면을 포함하는 복수의 후보 기준면 중에서 상기 지점을 참조하여 상기 카메라 모듈에 의해 특정되는 기준면을 결정하는
방법.
According to clause 4,
A candidate reference surface is specified using at least three points on the ground surface specified by the camera module, a point that exists within a predetermined distance from the candidate reference surface among the plurality of points on the ground surface is determined, and a plurality of points including the candidate reference surface are determined. Determining the reference plane specified by the camera module by referring to the point among the candidate reference planes of
method.
제7항에 있어서,
상기 복수의 후보 기준면 중에서 상기 지점을 회귀 분석한 결과를 참조하여 상기 카메라 모듈에 의해 특정되는 기준면을 결정하는
방법.
In clause 7,
Determining a reference surface specified by the camera module by referring to the result of regression analysis of the point among the plurality of candidate reference surfaces.
method.
제1항에 있어서,
상기 보정 단계에서, 상기 제1 비교 대상 축 및 상기 제2 비교 대상 축 사이의 각도를 참조하여 상기 카메라 모듈과 연관되는 기준 좌표계를 보정하는
방법.
According to paragraph 1,
In the correction step, correcting the reference coordinate system associated with the camera module with reference to the angle between the first comparison target axis and the second comparison target axis.
method.
제1항에 있어서,
상기 보정 단계는, 상기 스캐너 모듈에 의해 특정되는 소정 지점을 기준으로 결정되는 상기 로봇의 이동 거리 및 회전 각도 중 적어도 하나를 참조하여 상기 로봇의 이동 속성 정보를 보정하는 단계를 포함하는
방법.
According to paragraph 1,
The correction step includes correcting the movement attribute information of the robot with reference to at least one of the movement distance and rotation angle of the robot determined based on a predetermined point specified by the scanner module.
method.
제10항에 있어서,
상기 이동 속성 정보는 상기 로봇의 휠의 크기 및 휠 베이스의 길이 중 적어도 하나에 관한 정보를 포함하는
방법.
According to clause 10,
The movement attribute information includes information about at least one of the size of the wheels and the length of the wheel base of the robot.
method.
제1항에 따른 방법을 실행하기 위한 컴퓨터 프로그램을 기록한 비일시성의 컴퓨터 판독 가능 기록 매체.A non-transitory computer-readable recording medium recording a computer program for executing the method according to claim 1. 로봇을 제어하기 위한 시스템으로서,
로봇의 카메라 모듈에 의해 특정되는 제1 타겟 영역을 참조하여 제1 비교 대상 축을 결정하고, 상기 로봇의 스캐너 모듈에 의해 특정되고 상기 제1 타겟 영역과 연관되는 제2 타겟 영역을 참조하여 제2 비교 대상 축을 결정하는 비교 대상 축 결정부, 및
상기 제1 비교 대상 축 및 상기 제2 비교 대상 축 사이의 관계를 참조하여 상기 카메라 모듈과 연관되는 기준 좌표계를 보정하는 보정부를 포함하는
시스템.
As a system for controlling a robot,
A first comparison target axis is determined with reference to a first target area specified by the robot's camera module, and a second comparison is made with reference to a second target area specified by the robot's scanner module and associated with the first target area. A comparison target axis determination unit that determines the target axis, and
Comprising a correction unit that corrects a reference coordinate system associated with the camera module with reference to the relationship between the first comparison target axis and the second comparison target axis.
system.
제13항에 있어서,
상기 제1 타겟 영역 또는 상기 제2 타겟 영역은, 상기 로봇이 위치하는 장소에서 둘 이상의 모서리가 만나는 지점 또는 대상을 포함하는
시스템.
According to clause 13,
The first target area or the second target area includes a point or object where two or more edges meet at the location where the robot is located.
system.
제13항에 있어서,
상기 비교 대상 축 결정부는, 상기 제1 타겟 영역에서 특정되는 모서리를 참조하여 상기 제1 비교 대상 축을 결정하고, 상기 제2 타겟 영역에서 특정되는 모서리를 참조하여 상기 제2 비교 대상 축을 결정하는
시스템.
According to clause 13,
The comparison target axis determination unit determines the first comparison target axis with reference to an edge specified in the first target area, and determines the second comparison target axis with reference to the edge specified in the second target area.
system.
제13항에 있어서,
상기 보정부는, 상기 로봇이 위치한 바닥면 및 상기 카메라 모듈에 의해 특정되는 기준면 사이의 관계를 참조하여 상기 카메라 모듈과 연관되는 기준 좌표계를 보정하는
시스템.
According to clause 13,
The correction unit corrects the reference coordinate system associated with the camera module with reference to the relationship between the floor surface on which the robot is located and the reference surface specified by the camera module.
system.
제16항에 있어서,
상기 보정부는, 상기 로봇이 위치한 바닥면과 상기 카메라 모듈에 의해 특정되는 기준면 사이의 각도를 참조하여 상기 카메라 모듈과 연관되는 기준 좌표계를 보정하는
시스템.
According to clause 16,
The correction unit corrects the reference coordinate system associated with the camera module with reference to the angle between the floor surface on which the robot is located and the reference surface specified by the camera module.
system.
제16항에 있어서,
상기 보정부는, 상기 카메라 모듈에 의해 특정되는 지표면의 적어도 세 개의 지점을 이용하여 후보 기준면을 특정하고, 상기 지표면의 복수의 지점 중 상기 후보 기준면으로부터 소정 거리 이내에 존재하는 지점의 수를 결정하며, 상기 후보 기준면을 포함하는 복수의 후보 기준면 중에서 상기 지점의 수가 소정 수준 이상인 후보 기준면을 상기 카메라 모듈에 의해 특정되는 기준면으로 결정하는
시스템.
According to clause 16,
The correction unit specifies a candidate reference surface using at least three points on the ground surface specified by the camera module, and determines the number of points that exist within a predetermined distance from the candidate reference surface among a plurality of points on the ground surface, Among a plurality of candidate reference surfaces including candidate reference surfaces, a candidate reference surface with the number of points above a predetermined level is determined as the reference surface specified by the camera module.
system.
제16항에 있어서,
상기 보정부는, 상기 카메라 모듈에 의해 특정되는 지표면의 적어도 세 개의 지점을 이용하여 후보 기준면을 특정하고, 상기 지표면의 복수의 지점 중 상기 후보 기준면으로부터 소정 거리 이내에 존재하는 지점을 결정하며, 상기 후보 기준면을 포함하는 복수의 후보 기준면 중에서 상기 지점을 참조하여 상기 카메라 모듈에 의해 특정되는 기준면을 결정하는
시스템.
According to clause 16,
The correction unit specifies a candidate reference surface using at least three points on the ground surface specified by the camera module, determines a point that exists within a predetermined distance from the candidate reference surface among a plurality of points on the ground surface, and determines the candidate reference surface. Determining a reference surface specified by the camera module with reference to the point among a plurality of candidate reference surfaces including
system.
제19항에 있어서,
상기 복수의 후보 기준면 중에서 상기 지점을 회귀 분석한 결과를 참조하여 상기 카메라 모듈에 의해 특정되는 기준면을 결정하는
시스템.
According to clause 19,
Determining a reference surface specified by the camera module by referring to the result of regression analysis of the point among the plurality of candidate reference surfaces.
system.
제13항에 있어서,
상기 보정부는, 상기 제1 비교 대상 축 및 상기 제2 비교 대상 축 사이의 각도를 참조하여 상기 카메라 모듈과 연관되는 기준 좌표계를 보정하는
시스템.
According to clause 13,
The correction unit corrects the reference coordinate system associated with the camera module with reference to the angle between the first comparison target axis and the second comparison target axis.
system.
제13항에 있어서,
상기 보정부는, 상기 스캐너 모듈에 의해 특정되는 소정 지점을 기준으로 결정되는 상기 로봇의 이동 거리 및 회전 각도 중 적어도 하나를 참조하여 상기 로봇의 이동 속성 정보를 보정하는
시스템.
According to clause 13,
The correction unit corrects the movement attribute information of the robot with reference to at least one of the movement distance and rotation angle of the robot determined based on a predetermined point specified by the scanner module.
system.
제22항에 있어서,
상기 이동 속성 정보는 상기 로봇의 휠의 크기 및 휠 베이스의 길이 중 적어도 하나에 관한 정보를 포함하는
시스템.
According to clause 22,
The movement attribute information includes information about at least one of the size of the wheels and the length of the wheel base of the robot.
system.
KR1020210174302A 2021-11-15 2021-12-08 Method, system, and non-transitory computer-readable recording medium for controlling a robot KR102621569B1 (en)

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 (en) 2023-05-23
KR102621569B1 true KR102621569B1 (en) 2024-01-04

Family

ID=86324983

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210174302A KR102621569B1 (en) 2021-11-15 2021-12-08 Method, system, and non-transitory computer-readable recording medium for controlling a robot

Country Status (4)

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

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 (en) * 2019-01-25 2021-06-10 ベアー ロボティックス,インコーポレイテッド How to determine the robot's travel path, system and non-transient computer readable recording media

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0779383A (en) 1993-12-27 1995-03-20 Olympus Optical Co Ltd Picture processing unit
JP2007156576A (en) 2005-11-30 2007-06-21 Mitsubishi Heavy Ind Ltd Method and device for adjusting odometry(wheel range finder) parameter for traveling carrier
KR100914211B1 (en) 2008-01-15 2009-08-26 주식회사 이미지넥스트 Distorted image correction apparatus and method
KR101988937B1 (en) * 2017-09-07 2019-06-13 주식회사 인지 Method and apparatus for calibration of a robot hand and a camera
CN109634279B (en) * 2018-12-17 2022-08-12 瞿卫新 Object positioning method based on laser radar and monocular vision
CN112630750A (en) * 2019-10-08 2021-04-09 华为技术有限公司 Sensor calibration method and sensor calibration device
CN112785649A (en) * 2019-11-11 2021-05-11 北京京邦达贸易有限公司 Laser radar and camera calibration method and device, electronic equipment and medium
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 (en) * 2019-01-25 2021-06-10 ベアー ロボティックス,インコーポレイテッド How to determine the robot's travel path, system and non-transient computer readable recording media
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
WO2023086559A3 (en) 2023-06-22
JP2023073178A (en) 2023-05-25
WO2023086559A2 (en) 2023-05-19
JP7271649B1 (en) 2023-05-11
US11759949B2 (en) 2023-09-19
KR20230070989A (en) 2023-05-23
US20230150129A1 (en) 2023-05-18

Similar Documents

Publication Publication Date Title
US10796151B2 (en) Mapping a space using a multi-directional camera
US20190155302A1 (en) Estimating dimensions for an enclosed space using a multi-directional camera
Jaimez et al. Planar odometry from a radial laser scanner. A range flow-based approach
CN104238557B (en) The method of Unpiloted carrier vehicle and operation Unpiloted carrier vehicle
US11338438B2 (en) Method, system and non-transitory computer-readable recording medium for determining a movement path of a robot
WO2019019147A1 (en) Auto-exploration control of a robotic vehicle
KR20190076985A (en) Avoid vehicle collision
CN110533703B (en) Binocular stereo parallax determination method and device and unmanned aerial vehicle
KR102387797B1 (en) Method and Apparatus for localization in real space using 3D virtual space model
US11931900B2 (en) Method of predicting occupancy of unseen areas for path planning, associated device, and network training method
WO2020038155A1 (en) Autonomous movement device, control method and storage medium
KR20230066323A (en) Autonomous Robot Exploration in Storage Sites
US20220214696A1 (en) Simultaneous Localization and Mapping
Graf et al. Optimization-based terrain analysis and path planning in unstructured environments
KR102621569B1 (en) Method, system, and non-transitory computer-readable recording medium for controlling a robot
Sheikh et al. Stereo vision-based optimal path planning with stochastic maps for mobile robot navigation
CN112082542A (en) Digital model correction
US20220355474A1 (en) Method and computing system for performing robot motion planning and repository detection
US20220143832A1 (en) Method, system, and non-transitory computer-readable recording medium for controlling a destination of a robot
KR102671839B1 (en) Method, system, and non-transitory computer-readable recording medium for generating a map for a robot
US20230133480A1 (en) Thin object detection and avoidance in aerial robots
Lan et al. Design of Swarm Robots Formation Control System Based on Vision Guidance
US20230139606A1 (en) Precision height estimation using sensor fusion
US20230400858A1 (en) Identifying transport structures
김성중 Cooperative transport using multiple wheeled mobile robots with nonholonomic constraints

Legal Events

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