KR20210071193A - 자율 주행 장치, 센서 캘리브레이션 시스템 및 방법 - Google Patents

자율 주행 장치, 센서 캘리브레이션 시스템 및 방법 Download PDF

Info

Publication number
KR20210071193A
KR20210071193A KR1020190161093A KR20190161093A KR20210071193A KR 20210071193 A KR20210071193 A KR 20210071193A KR 1020190161093 A KR1020190161093 A KR 1020190161093A KR 20190161093 A KR20190161093 A KR 20190161093A KR 20210071193 A KR20210071193 A KR 20210071193A
Authority
KR
South Korea
Prior art keywords
unmanned aerial
aerial vehicle
waypoints
sensors
vehicle
Prior art date
Application number
KR1020190161093A
Other languages
English (en)
Inventor
박재혁
조용우
최두섭
민경욱
최정단
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to KR1020190161093A priority Critical patent/KR20210071193A/ko
Priority to US17/110,853 priority patent/US11587256B2/en
Publication of KR20210071193A publication Critical patent/KR20210071193A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/56Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W40/00Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models
    • B60W40/02Estimation or calculation of non-directly measurable driving parameters for road vehicle drive control systems not related to the control of a particular sub unit, e.g. by using mathematical models related to ambient conditions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R21/00Arrangements or fittings on vehicles for protecting or preventing injuries to occupants or pedestrians in case of accidents or other traffic risks
    • B60R21/01Electrical circuits for triggering passive safety arrangements, e.g. airbags, safety belt tighteners, in case of vehicle accidents or impending vehicle accidents
    • B60R21/013Electrical circuits for triggering passive safety arrangements, e.g. airbags, safety belt tighteners, in case of vehicle accidents or impending vehicle accidents including means for detecting collisions, impending collisions or roll-over
    • B60R21/0134Electrical circuits for triggering passive safety arrangements, e.g. airbags, safety belt tighteners, in case of vehicle accidents or impending vehicle accidents including means for detecting collisions, impending collisions or roll-over responsive to imminent contact with an obstacle, e.g. using radar systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W30/00Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
    • B60W30/14Adaptive cruise control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64CAEROPLANES; HELICOPTERS
    • B64C39/00Aircraft not otherwise provided for
    • B64C39/02Aircraft not otherwise provided for characterised by special use
    • B64C39/024Aircraft not otherwise provided for characterised by special use of the remote controlled vehicle type, i.e. RPV
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64DEQUIPMENT FOR FITTING IN OR TO AIRCRAFT; FLIGHT SUITS; PARACHUTES; ARRANGEMENT OR MOUNTING OF POWER PLANTS OR PROPULSION TRANSMISSIONS IN AIRCRAFT
    • B64D45/00Aircraft indicators or protectors not otherwise provided for
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G5/00Traffic control systems for aircraft, e.g. air-traffic control [ATC]
    • G08G5/0004Transmission of traffic-related information to or from an aircraft
    • G08G5/0013Transmission of traffic-related information to or from an aircraft with a ground station
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G5/00Traffic control systems for aircraft, e.g. air-traffic control [ATC]
    • G08G5/003Flight plan management
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G5/00Traffic control systems for aircraft, e.g. air-traffic control [ATC]
    • G08G5/003Flight plan management
    • G08G5/0034Assembly of a flight plan
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G5/00Traffic control systems for aircraft, e.g. air-traffic control [ATC]
    • G08G5/0047Navigation or guidance aids for a single aircraft
    • G08G5/0069Navigation or guidance aids for a single aircraft specially adapted for an unmanned aircraft
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0001Details of the control system
    • B60W2050/0002Automatic control, details of type of controller or control system architecture
    • B60W2050/0004In digital systems, e.g. discrete-time systems involving sampling
    • B60W2050/0005Processor details or data handling, e.g. memory registers or chip architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W2050/0062Adapting control system settings
    • B60W2050/0075Automatic parameter input, automatic initialising or calibrating means
    • B60W2050/0083Setting, resetting, calibration
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/40Photo, light or radio wave sensitive means, e.g. infrared sensors
    • B60W2420/403Image sensing, e.g. optical camera
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2420/00Indexing codes relating to the type of sensors based on the principle of their operation
    • B60W2420/40Photo, light or radio wave sensitive means, e.g. infrared sensors
    • B60W2420/408Radar; Laser, e.g. lidar
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2554/00Input parameters relating to objects
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W2556/00Input parameters relating to data
    • B60W2556/45External transmission of data to or from the vehicle
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2300/00Purposes or special features of road vehicle drive control systems
    • B60Y2300/14Cruise control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2400/00Special features of vehicle units
    • B60Y2400/30Sensors
    • B64C2201/12
    • B64C2201/146
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64UUNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
    • B64U10/00Type of UAV
    • B64U10/10Rotorcrafts
    • B64U10/13Flying platforms
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64UUNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
    • B64U2101/00UAVs specially adapted for particular uses or applications
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64UUNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
    • B64U2101/00UAVs specially adapted for particular uses or applications
    • B64U2101/30UAVs specially adapted for particular uses or applications for imaging, photography or videography
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64UUNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
    • B64U2201/00UAVs characterised by their flight controls
    • B64U2201/10UAVs characterised by their flight controls autonomous, i.e. by navigating independently from ground or air stations, e.g. by using inertial navigation systems [INS]
    • B64U2201/104UAVs characterised by their flight controls autonomous, i.e. by navigating independently from ground or air stations, e.g. by using inertial navigation systems [INS] using satellite radio beacon positioning systems, e.g. GPS
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64UUNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
    • B64U2201/00UAVs characterised by their flight controls
    • B64U2201/20Remote controls
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64UUNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
    • B64U80/00Transport or storage specially adapted for UAVs
    • B64U80/60Transport or storage specially adapted for UAVs by wearable objects, e.g. garments or helmets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker
    • G06T2207/30208Marker matrix
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Transportation (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Traffic Control Systems (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Navigation (AREA)

Abstract

본 문서에 개시되는 일 실시 예에 따른 자율 주행 장치는, 체커 보드(checker board)가 고정된 무인 비행체와 통신할 수 있는 통신 회로; 상기 자율 주행 자동차의 전방위를 감지할 수 있도록 상기 자율 주행 자동차에 배치된 복수의 센서들; 및 프로세서를 포함하고, 상기 프로세서는, 상기 통신 회로를 통해 상기 무인 비행체의 상대적 위치를 제어함에 따라 상기 무인 비행체를 지정된 비행 경로의 복수의 웨이포인트들(waypoints) 각각에서 호버링하도록 제어하고, 상기 무인 비행체를 통해 각 웨이포인트들에서 상기 체커 보드의 자세 각도를 상기 비행 경로에 따른 복수의 자세 각도들로 변화시키고, 상기 복수의 센서들을 통해 상기 복수의 웨이포인트들 및 복수의 자세 각도들에 각기 대응하는 상기 체커 보드를 포함하는 복수의 영상들을 생성하고, 상기 복수의 영상들의 매칭점들 간의 관계에 기반하여 상기 복수의 센서들을 캘리브레이션(calibration)할 수 있다.

Description

자율 주행 장치, 센서 캘리브레이션 시스템 및 방법{Apparatus for Autonomous Driving and Method and System for calibrating Sensor thereof}
본 문서에서 개시되는 다양한 실시 예들은, 차량 센서 캘리브레이션 기술과 관련된다.
자율 주행 자동차에는 차량의 주변 사물을 감지하기 위해서 여러 센서(예: 카메라, 라이더, 레이다)가 장착될 수 있다. 자율 주행 자동차가 주변 사물과의 거리를 정확히 감지하기 위해서, 이러한 센서들은 캘리브레이션 되어야 한다. 따라서, 자율 주행 자동차는 초기에(예: 생산 시) 탑재된 센서들에 대한 내재적 캘리브레이션(intrinsic calibration) 및 외재적 캘리브레이션(extrinsic calibration)을 수행할 수 있다. 상기 내재적 캘리브레이션은 센서 자체가 지닌 내부 파라미터를 확인하거나, 왜곡을 보상하기 위한 것이고, 상기 외재적 캘리브레이션은 센서 중심의 좌표계와 차량에 의존하는 기준 좌표계 간의 상관 관계를 확인하는 것일 수 있다.
센서 캘리브레이션 일 방식으로, 자율 주행 자동차는 사람이 체커 보드(예: 격자 무늬가 그려진 판)을 들고, 정차중인 차량의 전방위를 돌아가면서 센서의 출력값을 획득할 수 있다. 자율 주행 자동차는 획득된 센서의 출력값들 간의 매칭점 또는 체커 보드의 물리적 크기를 활용하여 캘리브레이션을 위한 파라미터를 산출할 수 있다.
센서 캘리브레이션 다른 방식으로, 자율 주행 자동차는 캘리브레이션 패턴을 포함하는 실내 공간에 차량을 정차시키고, 센서의 출력값을 획득한 후 상기 출력값들 간의 매칭점 및 캘리브레이션 패턴의 물리적 크기를 활용하여 상기 파라미터를 산출할 수 있다.
그런데, 센서 캘리브레이션의 일 방식은 정확한 캘리브레이션을 위해서는 차량 센서의 가시범위 곳곳에 체커 보드(checker board)(격자 무늬가 표시된 판)를 다양한 기울기로 위치시키면서 복수의 출력값들을 획득해야 하므로, 많은 시간이 소요될 뿐 아니라, 혼자서 진행하기가 어려울 수 있다. 또한, 센서 캘리브레이션 다른 방식은 캘리브레이션을 위한 별도의 실내 공간을 필요로 하므로 공간적 제약이 있는 문제가 있다.
한편, 자율 주행 자동차에 고정된 센서의 위치와 자세는 센서 고정 장치의 물리적 특성과 차량 동적 특성으로 인하여 시간이 지남에 따라 변할 수 있다. 따라서, 센서의 캘리브레이션은 정기적으로 이뤄질 필요가 있다.
본 문서에 개시되는 다양한 실시 예들은 자율 주행 자동차의 센서들을 용이하게 캘리브레이션할 수 있는 자율 주행 장치, 센서 캘리브레이션 시스템 및 방법을 제공할 수 있다.
본 문서에 개시되는 일 실시 예에 따른 자율 주행 장치는, 체커 보드(checker board)를 포함하는 무인 비행체와 통신할 수 있는 통신 회로; 상기 자율 주행 자동차의 전방위를 감지할 수 있도록 상기 자율 주행 자동차에 배치된 복수의 센서들; 및 프로세서를 포함하고, 상기 프로세서는, 상기 통신 회로를 통해 상기 무인 비행체의 상대적 위치를 제어함에 따라 상기 무인 비행체를 지정된 비행 경로의 복수의 웨이포인트들(waypoints) 각각에서 호버링하도록 제어하고, 상기 무인 비행체를 통해 각 웨이포인트들에서 상기 체커 보드의 자세 각도를 상기 비행 경로에 따른 복수의 자세 각도들로 변화시키고, 상기 복수의 센서들을 통해 상기 복수의 웨이포인트들 및 복수의 자세 각도들에 각기 대응하는 상기 체커 보드를 포함하는 복수의 영상들을 생성하고, 상기 복수의 영상들의 매칭점들 간의 관계에 기반하여 상기 복수의 센서들을 캘리브레이션(calibration)할 수 있다.
또한, 본 문서에 개시되는 일 실시 예에 따른 센서 캘리브레이션 시스템은, 회전 가능한 체커 보드를 포함하는 무인 비행체; 및 상기 무인 비행체를 제어하고 자율 주행 자동차에 포함된 자율 주행 장치를 포함하고, 상기 자율 주행 장치는, 상기 무인 비행체의 상대적 위치를 제어함에 따라 상기 무인 비행체가 지정된 비행 경로의 복수의 웨이포인트들(waypoints) 각각에서 호버링하도록 상기 무인 비행체를 제어하고, 상기 무인 비행체를 통해 각 웨이포인트들에서 상기 체커 보드의 자세 각도를 상기 비행 경로에 따른 복수의 자세 각도들로 변화시키고, 상기 복수의 센서들을 통해 상기 복수의 웨이포인트들 및 복수의 자세 각도들에 각기 대응하는 상기 체커 보드를 포함하는 복수의 영상들을 생성하고, 상기 복수의 영상들의 매칭점들 간의 관계에 기반하여 상기 복수의 센서들을 캘리브레이션할 수 있다.
또한, 본 문서에 개시되는 일 실시 예에 따른 센서 캘리브레이션 방법은, 체커 보드(checker board)를 포함하는 무인 비행체를 지정된 비행 경로의 복수의 웨이포인트들(waypoints) 각각에서 호버링하도록 제어하는 동작; 상기 무인 비행체를 통해 각 웨이포인트들에서 상기 체커 보드의 자세 각도를 상기 비행 경로에 따른 복수의 자세 각도들로 변화시키는 동작; 상기 자율 주행 장차에 포함된 복수의 센서들을 통해 상기 복수의 웨이포인트들 및 복수의 자세 각도들에 각기 대응하는 상기 체커 보드를 포함하는 복수의 영상들을 생성하는 동작; 및 상기 복수의 영상들의 매칭점들 간의 관계에 기반하여 상기 복수의 센서들을 캘리브레이션(calibration)하는 동작을 포함할 수 있다.
본 문서에 개시되는 다양한 실시 예들에 따르면, 자율 주행 자동차의 센서들을 용이하게 캘리브레이션할 수 있다. 이 외에, 본 문서를 통해 직접적 또는 간접적으로 파악되는 다양한 효과들이 제공될 수 있다.
도 1은 일 실시예에 따른 센서 캘리브레이션 시스템을 나타낸다.
도 2는 일 실시예에 따른 무인 비행체의 외형도를 나타낸다.
도 3은 일 실시예에 따른 무인 비행체의 구성도를 나타낸다.
도 4는 일 실시예에 따른 센서 캘리브레이션 시스템의 구성도를 나타낸다.
도 5는 일 실시예에 따른 센서 캘리브레이션 시스템에 포함된 복수의 센서들을 나타낸다.
도 6은 일 실시예에 따른 센서 캘리브레이션 방법을 나타낸다.
도면의 설명과 관련하여, 동일 또는 유사한 구성요소에 대해서는 동일 또는 유사한 참조 부호가 사용될 수 있다.
도 1은 일 실시예에 따른 센서 캘리브레이션 시스템을 나타낸다.
도 1을 참조하면, 일 실시예에 따른 센서 캘리브레이션 시스템(10)은 무인 비행체(100) 및 자율 주행 장치(200)를 포함할 수 있다.
일 실시예에 따르면, 무인 비행체(100)는 체커 보드(100a)를 고정하고, 무인 비행체(100)의 위치 좌표 및 무인 비행체(100)의 롤(roll), 피치(pitch) 및 요(yaw) 각도를 변경할 수 있다.
일 실시예에 따르면, 무인 비행체(100)는 자율 주행 자동차의 일 영역(예: 자체의 트렁크 영역)에 고정 또는 탑재되어, 자율 주행 장치(200)의 명령에 따라 비행을 시작할 수 있다. 또한, 무인 비행체(100)는 자율 주행 장치(200)의 명령에 따라 비행 위치 또는 자세 각도(예: 무인 비행체(100) 또는 체커 보드(100a)의 자세 각도) 중 적어도 하나의 비행 상태를 변경할 수 있다. 예를 들어, 무인 비행체(100)는 자율 주행 자동차에 포함된 자율 주행 장치(200)의 명령(command)에 따른 위치 좌표로 이동하면서 몸체의 각도를 회전함에 따라, 자율 주행 장치(200)를 기준한 체커 보드(100a)(또는 무인 비행체(100))의 거리 및 각도를 조절할 수 있다.
일 실시예에 따르면, 자율 주행 장치(200)는 자율 주행 자동차에 탑재되고, 주변 물체를 감지하기 위한 복수의 센서들(240)을 포함할 수 있다. 자율 주행 장치(200)는 복수의 센서들(240)을 통해 무인 비행체(100)의 체커 보드(100a)를 감지할 수 있다. 예를 들어, 자율 주행 장치(200)는 체커 보드(100a)와의 거리 및 각도를 조절하기 위한 명령을 무인 비행체(100)에 송신하고, 조절된 거리 및 각도에서 복수의 센서들(240)을 통해 체커 보드(100a)에 대한 감지 값(또는, 체커 보드(100a)를 포함하는 영상들)을 획득할 수 있다. 자율 주행 장치(200)는 획득된 감지 값에 기반하여 복수의 센서들(240) 각각을 캘리브레이션할 수 있다.
상술한 실시예에 따르면, 센서 캘리브레이션 시스템(10)은 체커 보드(100a)를 고정한 무인 비행체(100)를 이용하여 차량 센서 캘리브레이션을 수행함에 따라 센서 캘리브레이션의 공간적 제약을 개선하고, 체커 보드(100a)를 보다 용이하고 정확하게 위치시키면서 차량 센서를 캘리브레이션할 수 있다.
도 2는 일 실시예에 따른 무인 비행체의 외형도를 나타낸다.
도 2를 참조하면, 일 실시예에 따른 무인 비행체(100)는 예컨대, 몸체(110)의 하부에 몸체(100b)의 제1 방향으로 체커 보드(100a)를 고정하고, 몸체의 롤(roll), 피치(pitch) 및 요(yaw) 각도를 변경함에 따라 체커 보드(100a)를 회전시킬 수 있다. 몸체(100b)의 상부에는 복수의 프로펠러(100c)들이 포함되고, 무인 비행체(100)는 복수의 프로펠러들(100c)의 회전 여부 및 회전 수를 조절함에 따라 무인 비행체(100)의 자세 각도 또는 비행 방향을 조절할 수 있다.
일 실시예에 따른 무인 비행체(100)는 체커 보드(100a)를 회전할 수 있도록 마련된 회전 부재를 포함하고, 회전 부재를 통해 무인 비행체(100)에 기준한 체커 보드(100a)의 롤, 피치 및 요 각도 중 적어도 하나의 각도를 조절할 수 있다.
상술한 실시예에 따르면, 무인 비행체(100)는 몸체의 자세 각도는 물론, 체커 보드(100a)의 자세 각도를 조절할 수 있어, 자율 주행 자동차에 기준한 체커 보드(100a)의 각도를 용이하게 제어할 수 있다.
도 3은 일 실시예에 따른 무인 비행체의 구성도를 나타낸다.
도 3을 참조하면, 일 실시예에 따른 무인 비행체(100)는 통신 회로(110), 구동 모듈(120), 메모리(130) 및 프로세서(140)를 포함할 수 있다. 일 실시 예에서, 무인 비행체(100)의 일부 구성요소는 생략되거나, 무인 비행체(100)는 추가적인 구성요소를 더 포함할 수 있다. 또한, 무인 비행체(100)의 구성요소들 중 일부가 결합되어 하나의 개체로 구성되되, 결합 이전의 해당 구성요소들의 기능을 동일하게 수행할 수 있다.
통신 회로(110)는 무인 비행체(100)와 다른 장치(예: 자율 주행 장치(200)) 간의 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 상기 통신 채널은 WiFi, M-Wimax 및 블루투스와 같은 무선 통신 채널을 포함할 수 있다.
구동 모듈(120)은 무인 비행체(100)의 움직임에 관련된 제1 구동 모듈(121) 및 체커 보드(100a)의 움직임에 관련된 제2 구동 모듈(122)을 포함할 수 있다. 제1 구동 모듈(121)은 복수의 프로펠러들(예: 도 2의 복수의 프로펠러들(100c)) 및 각 프로펠러들(100c)을 회전시키기 위한 복수의 모터들을 포함할 수 있다. 구동 모듈(120)은 프로세서(140)의 명령에 따라 복수의 프로펠러에 각기 연결된 각 모터들을 회전 여부, 회전 방향 및 회전 수를 조절함에 따라 무인 비행체(100)를 비행시키고 무인 비행체(100)의 자세 각도를 제어할 수 있다. 제2 구동 모듈(122)은 체커 보드(100a)를 회전 가능한 회전 부재 및 모터를 포함하고, 프로세서(140)의 명령에 따라 모터의 회전 수 및 회전 방향을 조절함에 따라 무인 비행체(100)(또는, 자율 주행 자동차)에 기준한 체커 보드(100a)의 롤, 피치(pitch) 및 요 각도 중 적어도 하나의 각도를 조절할 수 있다.
메모리(130)는 무인 비행체(100)의 적어도 하나의 구성요소(예: 프로세서(140))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는 예를 들어, 소프트웨어 및 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 예를 들어, 메모리(130)는 무인 비행체의 비행 여부 및 자세 각도(무인 비행체(100) 및 체커 보드(100a)의 자세 각도) 조절을 위한 적어도 하나의 인스트럭션(instruction)을 저장할 수 있다. 메모리(130)는 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다.
프로세서(140)는 적어도 하나의 인스트럭션을 실행함에 따라 무인 비행체(100)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 프로세서(140)는 예를 들어, 중앙처리장치(CPU), 그래픽처리장치(GPU), 마이크로프로세서, 애플리케이션 프로세서(application processor), 주문형 반도체(ASIC(application specific integrated circuit), FPGA(field programmable gate arrays)) 중 적어도 하나를 포함할 수 있으며, 복수의 코어를 가질 수 있다.
일 실시예에 따르면, 프로세서(140)는 통신 회로(110)를 통해 자율 주행 장치(200)로부터 무인 비행체(100)의 구동과 관련된 명령을 획득하고, 획득된 명령에 따라 제1 구동 모듈(121)을 제어함에 따라 무인 비행체(100)의 몸체를 비행 시작, 비행 위치 및 자세 각도 제어할 수 있다. 예를 들어, 프로세서(140)는 자율 주행 장치(200)로부터 비행 위치와 관련된 비행 상태 변경 명령을 획득하면, 획득된 비행 상태 변경 명령에 따라 비행 위치를 변경할 수 있다. 프로세서(140)는 자율 주행 장치(200)으로부터 비행 상태 유지 명령을 획득하면, 비행 상태 유지 명령에 따라 무인 비행체(100)를 현재 위치에서 호버링할 수 있다. 다른 예를 들어, 프로세서(140)는 자세 각도와 관련된 비행 상태 변경 명령을 획득하면, 구동 모듈(120)을 통해 무인 비행체(100) 및 체커 보드(100a)의 요 각도, 롤 각도 및 피치 각도 중 적어도 하나의 자세 각도를 제어할 수 있다. 프로세서(140)는 예를 들면, 자세 각도와 관련된 비행 상태 변경 명령에 따라 제1 구동 모듈(121)을 통해 자율 주행 자동차에 기준한 무인 비행체(100)의 요 각도를 제어하고, 자세 각도와 관련된 비행 상태 변경 명령에 따라 제2 구동 모듈(122)을 통해 자율 주행 자동차에 기준한 체커 보드(100a)의 롤 각도 및 피치 각도 중 적어도 하나의 자세 각도를 제어할 수 있다. 이하의 문서에서는 설명의 편의성을 위하여 무인 비행체(100)가 자세 각도와 관련된 비행 상태 변경 명령을 획득하면, 무인 비행체(100)의 요 각도, 체커 보드(100a)의 롤 각도 및 체커 보드(100a)의 피치 각도 중 적어도 하나의 각도를 조절함에 따라 자율 주행 자동차에 기준한 체커 보드(100a)의 각도를 조절하는 경우를 예로 들어 설명한다.
다양한 실시예에 따르면, 프로세서(140)는 획득된 명령에 따라 비행 상태를 변경한 후, 비행 상태 변경 완료를 보고하는 비행 상태 보고 정보를 자율 주행 장치(200)에 송신할 수 있다. 또한, 프로세서(140)는 비행 상태 유지 명령에 따라 호버링하면서 호버링 상태를 보고하는 비행 상태 보고 정보를 자율 주행 장치(200)에 송신할 수 있다.
다양한 실시예에 따르면, 무인 비행체(100)는 GPS 위성과 통신하여 무인 비행체(100)의 위치 좌표를 획득하는 GPS 모듈(미도시)을 더 포함할 수 있다. 이 경우, 무인 비행체(100)는 GPS 모듈(미도시)에 기반하여 위치 좌표 정보를 생성하고, 자율 주행 장치(200)으로 송신할 수 있다. 또는, 무인 비행체(100)는 자율 주행 장치(200)으로부터 변경될 자세 각도 및 비행 위치를 포함하는 비행 상태 변경 명령을 획득하고, 획득된 명령에 따라 비행 상태를 변경할 수 있다.
상술한 실시예에 따르면, 무인 비행체(100)는 자율 주행 자동차에 기준한 체커 보드(100a)의 각도를 자율 주행 장치(200)의 명령에 따라 용이하게 변경할 수 있어, 차량 센서의 캘리브레이션 편의성을 크게 향상시킬 수 있다.
도 4는 일 실시예에 따른 센서 캘리브레이션 시스템의 구성도를 나타내고, 도 5는 일 실시예에 따른 센서 캘리브레이션 시스템에 포함된 복수의 센서들을 나타낸다.
도 4를 참조하면, 일 실시예에 따른 자율 주행 장치(200)는 통신 회로(210), GPS 모듈(220), 복수의 센서들(240), 입력 회로(230), 메모리(250) 및 프로세서(260)를 포함할 수 있다. 일 실시 예에서, 자율 주행 장치(200)의 일부 구성요소는 생략되거나, 자율 주행 장치(200)는 추가적인 구성요소를 더 포함할 수 있다. 또한, 자율 주행 장치(200)의 구성요소들 중 일부가 결합되어 하나의 개체로 구성되되, 결합 이전의 해당 구성요소들의 기능을 동일하게 수행할 수 있다.
통신 회로(210)는 자율 주행 장치(200)과 다른 장치(예: 무인 비행체(100)) 간의 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 상기 통신 채널은 WiFi, M-Wimax 및 블루투스와 같은 무선 통신 채널을 포함할 수 있다.
GPS 모듈(220)은 GPS 위성과 통신하여 자율 주행 장치(200)(또는, 자율 주행 자동차)의 위치 좌표 정보를 획득할 수 있다. 상기 위치 좌표 정보는 예를 들면, 기준 좌표계(예: 지구중심고정좌표계)에 따른 위치 좌표 정보일 수 있다.
입력 회로(230)는 사용자 입력을 감지 또는 수신할 수 있다. 입력 회로(230)는 물리적 버튼, 터치 버튼 중 적어도 하나의 입력 회로를 포함할 수 있다.
복수의 센서들(240)은 자율 주행 자동차의 주변 물체를 감지할 수 있다. 복수의 센서들(240)은 복수의 카메라들(231~236) 및 라이더(237)를 포함할 수 있다. 도 5를 참조하면, 복수의 카메라들(231~236)은 자율 주행 자동차(200h)의 전방을 각기 촬영 가능한 제1 카메라(231)와 제2 카메라(232), 자율 주행 자동차(200h)의 좌우 측방을 각기 촬영 가능한 제3 카메라(233)와 제4 카메라(234) 및 자율 주행 자동차(200h)의 후방을 각기 촬영 가능한 제5 카메라(235) 및 제6 카메라(236)를 포함할 수 있다. 복수의 카메라들(231~236)은 각기 가시 범위를 촬영함에 따라 복수 방위의 영상들을 생성할 수 있다. 라이더(237)는 자율 주행 자동차(200h)의 차체 상부의 중심부에 위치하여 자율 주행 자동차(200h)의 전방위를 감지하고, 감지 영역에 대한 강도 값(intensity)을 포함하는 전방위 영상을 생성할 수 있다. 상기 복수 방위의 영상들 및 상기 전방위 영상은 복수의 영상들로 언급될 수 있다.
메모리(250)는 휘발성 메모리 또는 비휘발성 메모리를 포함할 수 있다 메모리(250)는 자율 주행 장치(200)의 적어도 하나의 구성요소(예: 프로세서(260))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는 예를 들어, 소프트웨어 및 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 예를 들어, 메모리(250)는 차량 센서 캘리브레이션을 위한 적어도 하나의 인스트럭션(instruction)을 저장할 수 있다. 다른 예를 들어, 메모리(250)는 복수의 센서들(240)의 배치 위치 정보 및 가시 범위 정보를 저장할 수 있다.
프로세서(260)는 적어도 하나의 인스트럭션을 실행함에 따라 자율 주행 장치(200)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 프로세서(260)는 예를 들어, 중앙처리장치(CPU), 그래픽처리장치(GPU), 마이크로프로세서, 애플리케이션 프로세서(application processor), 주문형 반도체(ASIC(application specific integrated circuit), FPGA(field programmable gate arrays)) 중 적어도 하나를 포함할 수 있으며, 복수의 코어를 가질 수 있다.
일 실시예에 따르면, 프로세서(260)는 복수의 센서들(240) 각각으로부터 주변 물체의 위치 좌표를 획득하면, 획득된 위치 좌표를 기준 좌표계에 따른 위치 좌표(X, Y, Z)로 변환할 수 있다. 예를 들어, 프로세서(260)는 하기 수학식 1과 같이 각 센서들(240)로부터 획득된 위치 좌표 (x, y)에 센서 별 내적 파라미터(intrinsic parameter) 및 외적 파라미터(extrinsic parameter)를 곱함에 따라 상기 각 센서들(240)에 의해 획득된 위치 좌표 (x, y)를 기준 좌표계의 좌표 값으로 변환할 수 있다.
Figure pat00001
내적 파라미터(intrinsic parameter =
Figure pat00002
외적 파라미터(extrinsic parameter =
Figure pat00003
일 실시예에 따르면, 프로세서(260)는 입력 회로(230)를 통한 센서 캘리브레이션 요청을 획득하면, 획득된 캘리브레이션 요청에 따라 후술되는 동작들과 같이 무인 비행체(100)의 체커 보드(100a)를 이용하여 복수의 센서들(240)을 캘리브레이션할 수 있다. 그 결과, 프로세서(260)는 각 센서들(240)에 대한 내적 파라미터 및 외적 파라미터를 갱신하고, 이후 갱신된 내적 파라미터 및 외적 파라미터에 기반하여 주변 물체의 위치 좌표를 산출할 수 있다. 다양한 실시예에 따르면, 프로세서(260)는 입력 회로(230)를 통한 센서 캘리브레이션 요청을 획득하지 않아도, 지정된 주기에 센서 캘리브레이션을 수행할 수 있다.
프로세서(260)는 복수의 센서들(240)의 배치 위치 정보 및 가시 범위 정보(예: 시야각)에 기반하여 센서 캘리브레이션을 위한 무인 비행체(100)의 비행 경로를 설정(또는, 계획)할 수 있다. 예를 들어, 프로세서(260)는 무인 비행체(100)가 복수의 센서들(240) 중 적어도 하나의 센서의 가시 범위 내에 위치하도록 하는 복수의 웨이포인트(waypoint)들을 포함하는 비행 경로를 설정할 수 있다. 다른 예를 들어, 프로세서(260)는 복수의 센서들(240) 중 두 개의 센서들의 가시 범위가 겹치는 모든 영역들을 포함하도록 상기 복수의 웨이포인트들을 결정할 수 있다.
프로세서(260)는 자율 주행 자동차의 둘레를 커버하도록 상기 비행 경로의 웨이포인트들을 결정할 수 있다. 예를 들어, 프로세서(260)는 자율 주행 자동차와 지정된 간격 이격되어 자율 주행 자동차를 둘러싸는 곡선과 자율 주행 자동차의 둘레를 제1 단위 각도로 분할한 지점들 간의 교차점들을 복수의 웨이포인트들로 결정할 수 있다.
프로세서(260)는 각 웨이포인트들에서 무인 비행체(100)에 고정된 체커 보드(100a)와 자율 주행 자동차 간이 제1 임계각도(예: 약 -180도) 내지 제2 임계각도(예: 약 +180도) 사이의 각도들 중 복수의 각도들을 이루도록 체커 보드(100a)의 자세 각도들을 결정할 수 있다. 예를 들어, 프로세서(260)는 체커 보드(100a)와 자율 주행 자동차의 좌우를 지나는 수평선이 제1 임계각도(예: 약 -180도) 내지 제2 임계각도(예: 약 +180도) 사이의 복수의 각도들을 체커 보드(100a)의 복수의 자세 각도들로 결정할 수 있다. 프로세서(260)는 결정된 복수의 자세 각도들을 비행 경로의 각 웨이포인트들과 관련시킬 수 있다.
무인 비행체(100)가 정지 상태인 경우, 프로세서(260)는 무인 비행체(100)에 비행 시작 명령을 송신하고, 복수의 센서들(240)을 통해 무인 비행체(100)의 위치 좌표를 감지할 수 있다. 이와 관련하여, 프로세서(260)는 통신 회로(210)를 통해 무인 비행체(100)와 통신하여 무인 비행체(100)의 동작 상태(예: 정지 상태)를 확인하고, 무인 비행체(100)가 정지 상태인지 여부를 확인할 수 있다.
프로세서(260)는 무인 비행체(100)에 비행 상태 변경 명령을 송신하여 무인 비행체(100)의 상대적 위치를 제어하면서, 무인 비행체(100)가 설정된 비행 경로에 따른 각 웨이포인트들에 도달했는지를 확인할 수 있다. 예를 들어, 프로세서(260)는 복수의 센서들(240)에 의해 획득된 무인 비행체(100)의 위치 좌표에 기반하여 무인 비행체(100)가 각 웨이포인트에 도착했는지를 확인할 수 있다.
프로세서(260)는 무인 비행체(100)가 복수의 웨이포인트들 중 제1 웨이포인트에 도달하면, 무인 비행체(100)에 비행 상태 유지 명령을 송신할 수 있다. 프로세서(260)는 무인 비행체(100)가 호버링하는 것을 확인하면, 복수의 센서들(240)을 통해 동시에 무인 비행체(100)에 고정된 체커 보드(100a)를 감지함에 따라 복수의 영상들을 생성할 수 있다. 또한, 프로세서(260)는 무인 비행체(100)에 자세 각도와 관련된 비행 상태 변경 명령을 송신하여, 제1 웨이포인트에서 자율 주행 자동차에 기준한 체커 보드(100a)의 자세 각도를 설정된 비행 경로에 따른 복수의 자세 각도로 변화시키면서 제1 웨이포인트 및 복수의 자세 각도들에 대응하는 복수의 영상들을 각기 생성할 수 있다. 이 과정에서, 프로세서(260)는 자세 각도에 관련된 비행 상태 변경 명령을 무인 비행체(100)에 송신함에 따라 자율 주행 자동차에 기준한 체커 보드(100a)의 상대적인 각도를 조절할 수 있다.
프로세서(260)는 비행 상태 변경 명령을 송신하여 무인 비행체(100)를 제1웨이포인트에서 제2 웨이포인트로 이동시킨 후, 제2 웨이포인트에서 무인 비행체(100)를 호버링시킬 수 있다. 프로세서(260)는 무인 비행체(100)가 제2 웨이포인트에서 호버링하는 것을 확인하면, 복수의 센서들(240)을 통해 동시에 무인 비행체(100)에 고정된 체커 보드(100a)를 감지함에 따라 복수의 영상들을 생성할 수 있다. 또한, 프로세서(260)는 체커 보드(100a)의 자세 각도를 설정된 비행 경로에 따른 복수의 자세 각도로 변화시키면서 복수의 센서들(240)을 통해 제2 웨이포인트 및 복수의 자세 각도들에 대응하는 복수의 영상들을 생성할 수 있다.
상술한 과정을 통해서 프로세서(260)는 설정된 비행 경로에 포함된 모든 웨이포인트들에 대하여 복수의 자세 각도들에 대응하는 복수의 영상들을 생성할 수 있다. 프로세서(260)는 복수의 웨이포인트들 및 복수의 자세 각도들에 각기 대응하는 복수의 영상들로부터 매칭점을 추출하고, 추출된 매칭점들 간의 관계에 기반하여 복수의 센서들(240) 각각의 내적 파라미터 및 외적 파라미터를 결정할 수 있다. 프로세서(260)는 메모리(250)에 저장된 각 센서들(240)의 내적 파라미터 및 외적 파라미터를 갱신하고, 이후에는 상기 갱신된 내적 파라미터 및 외적 파라미터에 기반하여 각 센서들(240)에 의해 감지된 위치 좌표를 기준 좌표계로 변환할 수 있다.
다양한 실시예에 따르면, 프로세서(260)는 복수의 센서들(240)의 배치 위치 및 가시 범위에 기반하여 최초에 한 번 비행 경로를 설정하면, 설정된 비행 경로를 메모리(250)에 저장하고, 저장된 비행 경로를 다음 센서 캘리브레이션에 이용할 수 있다. 다양한 실시예에 따르면, 프로세서(260)는 내적 파라미터 및 외적 파라미터를 갱신하면, 경신된 내적 파라미터 및 외적 파라미터에 기반하여 메모리(250)에 저장된 비행 경로를 갱신하고, 갱신된 비행 경로를 다음 센서 캘리브레이션에 이용할 수 있다.
다양한 실시예에 따르면, 프로세서(260)는 무인 비행체(100)로부터 수신된 비행 상태 보고 정보에 기반하여 무인 비행체(100)가 각 웨이포인트에 도달했는지를 확인할 수 있다. 이와 달리, 프로세서(260)는 무인 비행체(100)의 위치 좌표 및 비행 상태 보고 정보에 기반하여 무인 비행체(100)가 각 웨이포인트에 도달했는지를 확인할 수 있다.
다양한 실시예에 따르면, 자율 주행 자동차는 일 영역(예: 트렁크 내부)에 무인 비행체(100)를 고정 또는 격납할 수 있다. 예를 들어, 자율 주행 장치(200)는 센서 캘리브레이션을 위하여 트렁크에 격납된 무인 비행체(100)를 비행시킨 후 트렁크를 패쇄하고, 상술된 센서 캘리브레이션을 위한 동작들을 수행할 수 있다. 이후, 자율 주행 장치(200)는 센서 캘리브레이션 이후에 무인 비행체를 다시 트렁크에 겹납할 수 있다.
상술한 실시예에 따르면, 자율 주행 장치(200)는 무인 비행체(100)를 이용하여 자체에 기준한 체커 보드(100a)의 위치 및 각도를 용이하고 정확하게 위치시킬 수 있어, 차량 센서의 캘리브레이션 편의성을 크게 향상시킬 수 있다.
또한, 상술한 실시예에 따르면, 자율 주행 장치(200)는 체커 보드(100a)를 고정한 무인 비행체(100)를 이용하여 차량 센서 캘리브레이션을 수행함에 따라 캘리브레이션을 위하여 구성된 특정 공간에서만 차량 캘리브레이션을 수행해야 하던 종래의 불편을 개선할 수 있다.
도 6은 일 실시예에 따른 센서 캘리브레이션 방법을 나타낸다.
도 6을 참조하면, 동작 610에서, 자율 주행 장치(200)는 체커 보드(100a)가 고정된 무인 비행체(100)를 지정된 비행 경로의 복수의 웨이포인트들(waypoints) 각각에서 호버링하도록 제어할 수 있다.
동작 620에서, 자율 주행 장치(200)는 무인 비행체(100)를 통해 각 웨이포인트들에서 체커 보드의 자세 각도를 상기 비행 경로에 따른 복수의 자세 각도들로 변화시킬 수 있다.
동작 630에서, 자율 주행 장치(200)는 복수의 센서들(240)을 통해 상기 복수의 웨이포인트들 및 복수의 자세 각도들에 각기 대응하는 체커 보드(100a)를 포함하는 복수의 영상들을 생성할 수 있다.
동작 640에서, 자율 주행 장치(200)는 상기 복수의 영상들의 매칭점들 간의 관계에 기반하여 상기 복수의 센서들을 캘리브레이션(calibration)할 수 있다. 예를 들어, 자율 주행 장치(200)는 복수의 웨이포인트들 및 복수의 자세 각도들에 각기 대응하는 복수의 영상들로부터 매칭점을 추출하고, 추출된 매칭점들 간의 관계에 기반하여 복수의 센서들(240) 각각의 내적 파라미터 및 외적 파라미터를 결정할 수 있다. 이후, 자율 주행 장치(200)는 결정된 내적 파라미터 및 외적 파라미터에 기반하여 각 센서들(240)에 의해 감지된 위치 좌표를 기준 좌표계로 변환함에 따라 기준 좌표계에 기준하여 복수의 센서들(240)을 통해 주변 물체의 위치 좌표를 결정할 수 있다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나",“A 또는 B 중 적어도 하나”, "A, B 또는 C", "A, B 및 C 중 적어도 하나” 및 “A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제1", "제2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제1) 구성요소가 다른(예: 제2) 구성요소에, “기능적으로” 또는 “통신적으로”라는 용어와 함께 또는 이런 용어 없이, “커플드” 또는 “커넥티드”라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서에서 사용된 용어 "모듈", "부" 및 "수단"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 자율 주행 장치(200))에 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리 또는 외장 메모리)(메모리(250))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램)로서 구현될 수 있다. 예를 들면, 기기(예: 자율 주행 장치(200))의 프로세서(예: 프로세서(260)는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체 는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.

Claims (20)

  1. 자율 주행 자동차에 포함된 자율 주행 장치에 있어서,
    체커 보드(checker board)를 포함하는 무인 비행체와 통신할 수 있는 통신 회로;
    상기 자율 주행 자동차의 전방위를 감지할 수 있도록 상기 자율 주행 자동차에 배치된 복수의 센서들; 및
    프로세서를 포함하고, 상기 프로세서는,
    상기 통신 회로를 통해 상기 무인 비행체의 상대적 위치를 제어함에 따라 상기 무인 비행체를 지정된 비행 경로의 복수의 웨이포인트들(waypoints) 각각에서 호버링하도록 제어하고,
    상기 무인 비행체를 통해 각 웨이포인트들에서 상기 체커 보드의 자세 각도를 상기 비행 경로에 따른 복수의 자세 각도들로 변화시키고,
    상기 복수의 센서들을 통해 상기 복수의 웨이포인트들 및 복수의 자세 각도들에 각기 대응하는 상기 체커 보드를 포함하는 복수의 영상들을 생성하고,
    상기 복수의 영상들의 매칭점들 간의 관계에 기반하여 상기 복수의 센서들을 캘리브레이션(calibration)하는, 자율 주행 장치.
  2. 청구항 1에 있어서, 상기 프로세서는,
    상기 무인 비행체가 상기 복수의 센서들 중 적어도 하나의 센서의 가시 범위 내에서 위치하도록 상기 복수의 웨이포인트들을 포함하는 상기 비행 경로를 지정하는, 자율 주행 장치.
  3. 청구항 2에 있어서, 상기 프로세서는,
    복수의 센서들 중 두 개의 센서들의 가시 범위가 겹치는 모든 영역을 포함하도록 상기 복수의 웨이포인트들을 지정하는, 자율 주행 장치.
  4. 청구항 2에 있어서, 상기 프로세서는,
    상기 자율 주행 자동차와 지정된 간격 이격되는 선과 상기 자율 주행 자동차의 둘레를 제1 단위 각도로 분할한 지점들 간의 교차점을 상기 복수의 웨이포인트들로 지정하는, 자율 주행 장치.
  5. 청구항 2에 있어서, 상기 프로세서는,
    상기 각 웨이포인트들에서 상기 체커 보드와 상기 자율 주행 자동차 간의 각도가 제1 임계각도 내지 제2 임계각도 사이의 복수의 각도들을 이루도록 상기 각 웨이포인트들에 관련된 상기 복수의 자세 각도들을 지정하고,
    상기 지정된 복수의 자세 각도들을 상기 비행 경로의 각 웨이포인트에 관련하는, 자율 주행 장치.
  6. 청구항 2에 있어서, 상기 프로세서는,
    상기 비행 경로를 지정하면, 상기 지정된 비행 경로를 메모리에 저장하고,
    상기 복수의 센서들의 다음 캘리브레이션 시에 상기 지정된 비행 경로를 이용하는, 자율 주행 장치.
  7. 청구항 1에 있어서, 상기 프로세서는,
    상기 복수의 센서들의 캘리브레이션 결과에 기반하여 상기 비행 경로를 갱신하는, 자율 주행 장치.
  8. 청구항 1에 있어서, 상기 프로세서는,
    상기 복수의 센서들에 대한 캘리브레이션 시에 내적 파라미터 및 외적 파라미터를 결정하고,
    상기 복수의 센서들을 통해 주변 물체 감지 시에 상기 결정된 내적 파라미터 및 상기 외적 파라미터에 기반하여 상기 주변 물체의 위치 좌표를 결정하는, 자율 주행 장치.
  9. 센서 캘리브레이션 시스템에 있어서,
    회전 가능한 체커 보드를 포함하는 무인 비행체; 및
    상기 무인 비행체를 제어하고 자율 주행 자동차에 포함된 자율 주행 장치를 포함하고,
    상기 자율 주행 장치는,
    상기 무인 비행체의 상대적 위치를 제어함에 따라 상기 무인 비행체가 지정된 비행 경로의 복수의 웨이포인트들(waypoints) 각각에서 호버링하도록 상기 무인 비행체를 제어하고,
    상기 무인 비행체를 통해 각 웨이포인트들에서 상기 체커 보드의 자세 각도를 상기 비행 경로에 따른 복수의 자세 각도들로 변화시키고,
    상기 복수의 센서들을 통해 상기 복수의 웨이포인트들 및 복수의 자세 각도들에 각기 대응하는 상기 체커 보드를 포함하는 복수의 영상들을 생성하고,
    상기 복수의 영상들의 매칭점들 간의 관계에 기반하여 상기 복수의 센서들을 캘리브레이션(calibration)하는, 센서 캘리브레이션 시스템.
  10. 청구항 9에 있어서, 상기 무인 비행체는,
    상기 자율 주행 자동차의 일 영역에 고정 또는 격납되고,
    상기 자율 주행 장치의 명령에 따라 상기 비행 경로에 따른 비행을 시작하는, 센서 캘리브레이션 시스템.
  11. 청구항 9에 있어서, 상기 무인 비행체는,
    상기 자율 주행 장치로부터 수신된 명령에 따라 비행 위치 또는 자세 각도 중 적어도 하나의 비행 상태를 변경하고,
    상기 적어도 하나의 비행 상태의 변경에 따른 비행 상태 보고 정보를 상기 자율 주행 장치에 송신하는, 센서 캘리브레이션 시스템.
  12. 청구항 9에 있어서, 상기 무인 비행체는,
    상기 무인 비행체의 현 위치 좌표를 감지하는 GPS 모듈을 포함하고,
    상기 감지된 현 위치 좌표에 기반하여 상기 자율 주행 장치로부터 수신된 명령에 따라 비행 위치를 제어하는, 센서 캘리브레이션 시스템.
  13. 청구항 9에 있어서, 상기 무인 비행체는,
    상기 무인 비행체의 움직임에 관련된 제1 구동 모듈;
    상기 체커 보드의 움직임에 관련된 제2 구동 모듈; 및
    상기 자율 주행 장치로부터 수신된 명령에 따라 상기 제1 구동 모듈 및 상기 제2 구동 모듈 중 적어도 하나의 구동 모듈을 통해 상기 체커 보드의 자세 각도를 제어하는 프로세서
    를 포함하는, 센서 캘리브레이션 시스템.
  14. 청구항 9에 있어서, 상기 자율 주행 장치는,
    상기 무인 비행체가 상기 복수의 센서들 중 적어도 하나의 센서의 가시 범위 내에서 위치하도록 상기 복수의 웨이포인트들을 포함하는 상기 비행 경로를 지정하고,
    상기 지정된 비행 경로에 따라 상기 무인 비행체의 비행 위치를 제어하는, 센서 캘리브레이션 시스템.
  15. 청구항 9에 있어서, 상기 자율 주행 장치는,
    상기 각 웨이포인트들에서 상기 체커 보드와 상기 자율 주행 자동차 간의 각도가 제1 임계각도 내지 제2 임계각도 사이의 복수의 각도들을 이루도록 상기 각 웨이포인트들에 관련된 상기 복수의 자세 각도들을 지정하고, 상기 지정된 복수의 자세 각도들을 상기 비행 경로의 각 웨이포인트에 관련하고,
    상기 각 웨이포인트에서 상기 무인 비행체의 자세 각도를 상기 복수의 자세 각도로 제어하는, 센서 캘리브레이션 시스템.
  16. 자율 주행 장치에 의한 센서 캘리브레이션 방법에 있어서,
    회전 가능한 체커 보드(checker board)를 포함하는 무인 비행체를 지정된 비행 경로의 복수의 웨이포인트들(waypoints) 각각에서 호버링하도록 제어하는 동작;
    상기 무인 비행체를 통해 각 웨이포인트들에서 상기 체커 보드의 자세 각도를 상기 비행 경로에 따른 복수의 자세 각도들로 변화시키는 동작;
    상기 자율 주행 장차에 포함된 복수의 센서들을 통해 상기 복수의 웨이포인트들 및 복수의 자세 각도들에 각기 대응하는 상기 체커 보드를 포함하는 복수의 영상들을 생성하는 동작; 및
    상기 복수의 영상들의 매칭점들 간의 관계에 기반하여 상기 복수의 센서들을 캘리브레이션(calibration)하는 동작을 포함하는, 센서 캘리브레이션 방법.
  17. 청구항 16에 있어서,
    상기 무인 비행체가 상기 복수의 센서들 중 적어도 하나의 센서의 가시 범위 내에서 위치하도록 상기 복수의 웨이포인트들을 포함하는 상기 비행 경로를 지정하는 동작을 더 포함하는, 센서 캘리브레이션 방법.
  18. 청구항 17에 있어서, 상기 비행 경로를 지정하는 동작은,
    복수의 센서들 중 두 개의 센서들의 가시 범위가 겹치는 모든 영역을 포함하도록 상기 복수의 웨이포인트들을 지정하는 동작을 포함하는, 센서 캘리브레이션 방법.
  19. 청구항 17에 있어서, 상기 비행 경로를 지정하는 동작은,
    상기 자율 주행 자동차와 지정된 간격 이격된 곡선과 상기 자율 주행 자동차의 둘레를 제1 단위 각도로 분할한 지점들 간의 교차점들을 상기 복수의 웨이포인트들로 지정하는 동작을 포함하는, 센서 캘리브레이션 방법.
  20. 청구항 17에 있어서, 상기 비행 경로를 지정하는 동작은,
    상기 각 웨이포인트들에서 상기 체커 보드와 상기 자율 주행 자동차 간의 각도가 제1 임계각도 내지 제2 임계각도 사이의 복수의 각도들을 이루도록 상기 각 웨이포인트들에 관련된 상기 복수의 자세 각도들을 지정하는 동작을 포함하는, 센서 캘리브레이션 방법.
KR1020190161093A 2019-12-05 2019-12-05 자율 주행 장치, 센서 캘리브레이션 시스템 및 방법 KR20210071193A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190161093A KR20210071193A (ko) 2019-12-05 2019-12-05 자율 주행 장치, 센서 캘리브레이션 시스템 및 방법
US17/110,853 US11587256B2 (en) 2019-12-05 2020-12-03 Apparatus for autonomous driving and method and system for calibrating sensor thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190161093A KR20210071193A (ko) 2019-12-05 2019-12-05 자율 주행 장치, 센서 캘리브레이션 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20210071193A true KR20210071193A (ko) 2021-06-16

Family

ID=76209830

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190161093A KR20210071193A (ko) 2019-12-05 2019-12-05 자율 주행 장치, 센서 캘리브레이션 시스템 및 방법

Country Status (2)

Country Link
US (1) US11587256B2 (ko)
KR (1) KR20210071193A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230039155A (ko) 2021-09-14 2023-03-21 인포뱅크 주식회사 자율 주행중 실시간 자율주행 센서 캘리브레이션 장치 및 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021074843A1 (en) * 2019-10-18 2021-04-22 Bluebotics Sa Omnidirectional line following autonomous vehicle
US11869226B2 (en) * 2020-10-25 2024-01-09 Pixart Imaging Inc. Computer readable recording medium which can perform image pattern determining method

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101695248B1 (ko) 2012-03-13 2017-01-12 한화테크윈 주식회사 센서 캘리브레이션 장치
KR102001659B1 (ko) 2012-11-19 2019-07-19 한국전자통신연구원 차량용 카메라 캘리브레이션 장치 및 방법
KR101545633B1 (ko) 2013-12-27 2015-08-19 전자부품연구원 차량용 스테레오 카메라 캘리브레이션 방법 및 시스템
US9541633B2 (en) * 2016-04-29 2017-01-10 Caterpillar Inc. Sensor calibration system
US20180005534A1 (en) * 2016-06-30 2018-01-04 Sharp Laboratories Of America, Inc. Autonomous navigation of an unmanned aerial vehicle
US10853942B1 (en) * 2016-08-29 2020-12-01 Amazon Technologies, Inc. Camera calibration in a mobile environment
KR102395276B1 (ko) 2016-09-13 2022-05-09 현대자동차주식회사 운전자 지원 시스템 검사 장치 및 그 제어 방법
US20190172225A1 (en) 2017-12-04 2019-06-06 Electronics And Telecommunications Research Institute Vehicle sensor calibration apparatus and method using the same
KR102021202B1 (ko) 2017-12-18 2019-09-11 전자부품연구원 다중 센서의 단일 3차원 좌표계 통합을 위한 캘리브레이션 방법
US11415683B2 (en) 2017-12-28 2022-08-16 Lyft, Inc. Mobile sensor calibration
US11318916B2 (en) * 2019-06-13 2022-05-03 Ford Global Technologies, Llc Vehicle maintenance

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20230039155A (ko) 2021-09-14 2023-03-21 인포뱅크 주식회사 자율 주행중 실시간 자율주행 센서 캘리브레이션 장치 및 방법

Also Published As

Publication number Publication date
US11587256B2 (en) 2023-02-21
US20210174547A1 (en) 2021-06-10

Similar Documents

Publication Publication Date Title
JP7161410B2 (ja) シーンにおけるカメラの姿勢を特定するシステム及び方法
US11587256B2 (en) Apparatus for autonomous driving and method and system for calibrating sensor thereof
CN108351690B (zh) 信息处理装置、信息处理系统和信息处理方法
US9207677B2 (en) Vehicle positioning method and its system
US20190385322A1 (en) Three-dimensional shape identification method, aerial vehicle, program and recording medium
US20150254853A1 (en) Calibration method and calibration device
US20180067503A1 (en) Orientation control method for drone
JP2019528501A (ja) マルチカメラシステムにおけるカメラ位置合わせ
CN111386440B (zh) 测距设备及其控制方法
US11520341B2 (en) Information processing apparatus and information processing method
JP6289750B1 (ja) 移動体、移動体制御方法、移動体制御システム、及び移動体制御プログラム
CN115427832A (zh) 自动驾驶车辆的激光雷达和图像校准
US20180117760A1 (en) Robotic sensing apparatus and methods of sensor planning
US11554316B2 (en) Thermopile array fusion tracking
WO2020019260A1 (zh) 磁传感器校准方法、控制终端以及可移动平台
JP2021136009A (ja) 情報処理装置、情報処理方法およびプログラム
US11803109B2 (en) Projection method, projection device, and projection system
JP2022075500A (ja) 情報処理装置、情報処理方法およびプログラム
CN109309709B (zh) 一种可远端控制无人装置的控制方法
US10578726B2 (en) Active sensing system and method of sensing with an active sensor system
CN110892353A (zh) 控制方法、控制装置、无人飞行器的控制终端
JP2020051791A (ja) 車両検査システム及び車両検査方法
JP2019191134A (ja) 測位システム及び測位方法
KR102674135B1 (ko) 와이파이 단말기의 최적위치 예측시스템 및 예측방법
WO2023243221A1 (ja) 移動経路決定システム、着陸地点決定システム、移動経路決定装置、ドローン制御装置、及びコンピュータプログラム

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application