KR102661926B1 - 드론 용 배터리의 잔존량을 실시간으로 체크하는 방법 및 장치 - Google Patents
드론 용 배터리의 잔존량을 실시간으로 체크하는 방법 및 장치 Download PDFInfo
- Publication number
- KR102661926B1 KR102661926B1 KR1020230094158A KR20230094158A KR102661926B1 KR 102661926 B1 KR102661926 B1 KR 102661926B1 KR 1020230094158 A KR1020230094158 A KR 1020230094158A KR 20230094158 A KR20230094158 A KR 20230094158A KR 102661926 B1 KR102661926 B1 KR 102661926B1
- Authority
- KR
- South Korea
- Prior art keywords
- battery
- impedance
- unit
- output
- input
- Prior art date
Links
- 238000000034 method Methods 0.000 title description 29
- 238000004891 communication Methods 0.000 claims abstract description 76
- 230000005540 biological transmission Effects 0.000 claims abstract description 22
- 239000013598 vector Substances 0.000 claims description 70
- 230000006870 function Effects 0.000 claims description 59
- 239000003990 capacitor Substances 0.000 claims description 51
- 238000003062 neural network model Methods 0.000 claims description 38
- 230000002265 prevention Effects 0.000 claims description 16
- 238000005259 measurement Methods 0.000 claims description 12
- 238000001914 filtration Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 11
- 230000004913 activation Effects 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 8
- 230000005611 electricity Effects 0.000 claims description 7
- 230000003068 static effect Effects 0.000 claims description 7
- 238000012549 training Methods 0.000 claims description 5
- 230000003247 decreasing effect Effects 0.000 claims description 4
- 230000011664 signaling Effects 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 12
- 238000007726 management method Methods 0.000 description 84
- 238000013528 artificial neural network Methods 0.000 description 36
- 238000012545 processing Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 210000004027 cell Anatomy 0.000 description 13
- 230000009467 reduction Effects 0.000 description 10
- 210000002569 neuron Anatomy 0.000 description 8
- 230000007423 decrease Effects 0.000 description 6
- WHXSMMKQMYFTQS-UHFFFAOYSA-N Lithium Chemical compound [Li] WHXSMMKQMYFTQS-UHFFFAOYSA-N 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 5
- 229910052744 lithium Inorganic materials 0.000 description 5
- 238000013021 overheating Methods 0.000 description 5
- 238000007599 discharging Methods 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 229920000642 polymer Polymers 0.000 description 4
- 230000000306 recurrent effect Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000002950 deficient Effects 0.000 description 3
- 230000007613 environmental effect Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 239000000047 product Substances 0.000 description 3
- 230000000638 stimulation Effects 0.000 description 3
- RZVHIXYEVGDQDX-UHFFFAOYSA-N 9,10-anthraquinone Chemical compound C1=CC=C2C(=O)C3=CC=CC=C3C(=O)C2=C1 RZVHIXYEVGDQDX-UHFFFAOYSA-N 0.000 description 2
- 239000011324 bead Substances 0.000 description 2
- 239000006227 byproduct Substances 0.000 description 2
- 229910052799 carbon Inorganic materials 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 210000002304 esc Anatomy 0.000 description 2
- 238000004880 explosion Methods 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 229910001416 lithium ion Inorganic materials 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 239000000126 substance Substances 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- VKWMGUNWDFIWNW-UHFFFAOYSA-N 2-chloro-1,1-dioxo-1,2-benzothiazol-3-one Chemical compound C1=CC=C2S(=O)(=O)N(Cl)C(=O)C2=C1 VKWMGUNWDFIWNW-UHFFFAOYSA-N 0.000 description 1
- 229920000049 Carbon (fiber) Polymers 0.000 description 1
- HBBGRARXTFLTSG-UHFFFAOYSA-N Lithium ion Chemical compound [Li+] HBBGRARXTFLTSG-UHFFFAOYSA-N 0.000 description 1
- 241000607479 Yersinia pestis Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- XAGFODPZIPBFFR-UHFFFAOYSA-N aluminium Chemical compound [Al] XAGFODPZIPBFFR-UHFFFAOYSA-N 0.000 description 1
- 229910052782 aluminium Inorganic materials 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 239000008280 blood Substances 0.000 description 1
- 210000004369 blood Anatomy 0.000 description 1
- 239000004917 carbon fiber Substances 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 238000005260 corrosion Methods 0.000 description 1
- 230000007797 corrosion Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000004146 energy storage Methods 0.000 description 1
- 238000003912 environmental pollution Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000010006 flight Effects 0.000 description 1
- 239000000446 fuel Substances 0.000 description 1
- 238000002847 impedance measurement Methods 0.000 description 1
- 230000003155 kinesthetic effect Effects 0.000 description 1
- 239000003562 lightweight material Substances 0.000 description 1
- 230000033001 locomotion Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- VNWKTOKETHGBQD-UHFFFAOYSA-N methane Chemical compound C VNWKTOKETHGBQD-UHFFFAOYSA-N 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000002105 nanoparticle Substances 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 239000000575 pesticide Substances 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60L—PROPULSION OF ELECTRICALLY-PROPELLED VEHICLES; SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL; MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
- B60L58/00—Methods or circuit arrangements for monitoring or controlling batteries or fuel cells, specially adapted for electric vehicles
- B60L58/10—Methods or circuit arrangements for monitoring or controlling batteries or fuel cells, specially adapted for electric vehicles for monitoring or controlling batteries
- B60L58/16—Methods or circuit arrangements for monitoring or controlling batteries or fuel cells, specially adapted for electric vehicles for monitoring or controlling batteries responding to battery ageing, e.g. to the number of charging cycles or the state of health [SoH]
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60L—PROPULSION OF ELECTRICALLY-PROPELLED VEHICLES; SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL; MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
- B60L3/00—Electric devices on electrically-propelled vehicles for safety purposes; Monitoring operating variables, e.g. speed, deceleration or energy consumption
- B60L3/0092—Electric devices on electrically-propelled vehicles for safety purposes; Monitoring operating variables, e.g. speed, deceleration or energy consumption with use of redundant elements for safety purposes
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60L—PROPULSION OF ELECTRICALLY-PROPELLED VEHICLES; SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL; MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
- B60L58/00—Methods or circuit arrangements for monitoring or controlling batteries or fuel cells, specially adapted for electric vehicles
- B60L58/10—Methods or circuit arrangements for monitoring or controlling batteries or fuel cells, specially adapted for electric vehicles for monitoring or controlling batteries
- B60L58/12—Methods or circuit arrangements for monitoring or controlling batteries or fuel cells, specially adapted for electric vehicles for monitoring or controlling batteries responding to state of charge [SoC]
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64C—AEROPLANES; HELICOPTERS
- B64C39/00—Aircraft not otherwise provided for
- B64C39/02—Aircraft not otherwise provided for characterised by special use
- B64C39/024—Aircraft not otherwise provided for characterised by special use of the remote controlled vehicle type, i.e. RPV
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64U—UNMANNED AERIAL VEHICLES [UAV]; EQUIPMENT THEREFOR
- B64U50/00—Propulsion; Power supply
- B64U50/30—Supply or distribution of electrical power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60L—PROPULSION OF ELECTRICALLY-PROPELLED VEHICLES; SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL; MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
- B60L2200/00—Type of vehicles
- B60L2200/10—Air crafts
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60L—PROPULSION OF ELECTRICALLY-PROPELLED VEHICLES; SUPPLYING ELECTRIC POWER FOR AUXILIARY EQUIPMENT OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRODYNAMIC BRAKE SYSTEMS FOR VEHICLES IN GENERAL; MAGNETIC SUSPENSION OR LEVITATION FOR VEHICLES; MONITORING OPERATING VARIABLES OF ELECTRICALLY-PROPELLED VEHICLES; ELECTRIC SAFETY DEVICES FOR ELECTRICALLY-PROPELLED VEHICLES
- B60L2240/00—Control parameters of input or output; Target parameters
- B60L2240/10—Vehicle control parameters
- B60L2240/36—Temperature of vehicle components or parts
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64D—EQUIPMENT FOR FITTING IN OR TO AIRCRAFT; FLIGHT SUITS; PARACHUTES; ARRANGEMENT OR MOUNTING OF POWER PLANTS OR PROPULSION TRANSMISSIONS IN AIRCRAFT
- B64D45/00—Aircraft indicators or protectors not otherwise provided for
- B64D2045/0085—Devices for aircraft health monitoring, e.g. monitoring flutter or vibration
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T50/00—Aeronautics or air transport
- Y02T50/60—Efficient propulsion technologies, e.g. for aircraft
Landscapes
- Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Sustainable Development (AREA)
- Sustainable Energy (AREA)
- Power Engineering (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Theoretical Computer Science (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Combustion & Propulsion (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Chemical & Material Sciences (AREA)
- Charge And Discharge Circuits For Batteries Or The Like (AREA)
Abstract
실시예들은 드론 용 배터리의 잔존량을 실시간으로 체크하는 기술을 제공한다. 배터리 관리 시스템을 포함하는 장치는, 본체; 상기 본체에서 복수의 상이한 방향으로 돌출된 윙; 상기 복수의 윙 각각의 말단에 결합된 액츄에이터; 상기 복수의 액츄에이터 각각에 의해 회전하는 프로펠러; 및 상기 복수의 윙 각각의 중단에 포함된 전자 변속기를 포함하고, 상기 본체는, 통신부; 배터리 및 배터리 관리 시스템을 포함하는 전원부; 제어부; 및 센서부를 포함하고, 상기 통신부는 원격 조종기로부터 제어 신호를 수신하고, 상기 제어부는, 상기 제어 신호를 분류하고, 상기 분류 결과에 따라 상기 전원부, 상기 센서부, 상기 액츄에이터 또는 상기 전자 변속기를 제어할 수 있다.
Description
본 발명의 실시예들은 드론 용 배터리를 관리하는 기술에 관한 것으로, 드론 용 배터리의 상태를 실시간으로 모니터링하는 기술에 대한 것이다.
드론에 사용되는 센서 및 전자장치의 증가는 드론의 성능과 기능을 향상시키는 동시에 배터리 관리의 중요성을 높이게 만든다. 배터리는 드론의 동력원이기 때문에 드론의 비행 시간과 성능에 직접적인 영향을 미치기 때문이다. 추가된 센서와 전자장치는 드론이 동작하는 데에 더 많은 에너지를 소모하게 된다. 드론의 성능 향상을 위해 이러한 장치들을 사용하는 것이 필수적이지만, 그만큼 배터리의 에너지 소모가 증가하므로 비행 시간이 단축될 수 있다. 배터리는 충전과 방전 사이클을 반복하면서 점차적으로 성능이 저하된다.
이에 따라, 드론 용 배터리의 상태를 실시간으로 모니터링할 필요가 있다. 배터리의 잔존 수명을 체크하거나 배터리의 불량 셀을 체크하는 등 배터리의 상태를 실시간으로 판단하고, 실시간으로 배터리의 상태를 체크하고 이상 상태를 발견한 경우 빠르게 사용자에게 경고함으로써 드론의 안전성을 향상시킬 필요가 있다.
실시예들에 따르면, 배터리 관리 시스템을 포함하는 장치는 본체; 상기 본체에서 복수의 상이한 방향으로 돌출된 윙; 상기 복수의 윙 각각의 말단에 결합된 액츄에이터; 상기 복수의 액츄에이터 각각에 의해 회전하는 프로펠러; 및 상기 복수의 윙 각각의 중단에 포함된 전자 변속기를 포함하고, 상기 본체는, 통신부; 배터리 및 배터리 관리 시스템을 포함하는 전원부; 제어부; 및 센서부를 포함하고, 상기 통신부는 원격 조종기로부터 제어 신호를 수신하고, 상기 제어부는, 상기 제어 신호를 분류하고, 상기 분류 결과에 따라 상기 전원부, 상기 센서부, 상기 액츄에이터 또는 상기 전자 변속기를 제어할 수 있다.
상기 전원부는, 상기 제어 신호가 상기 배터리의 전류 및 전압에 대한 정보 요청 신호인 경우, 상기 배터리 관리 시스템의 측정부를 통하여 상기 배터리의 전류 및 전압을 측정하고, 전류 또는 전압의 급격한 변화가 발생하거나 과전류 또는 과전압이 발생하는지 판단하고, 상기 배터리의 전류 및 전압에 대한 정보 전달 신호를 상기 통신부를 통해 상기 원격 조종기로 전달하고, 상기 제어 신호가 상기 배터리의 온도에 대한 정보 요청 신호인 경우, 상기 배터리 관리 시스템의 온도 센서를 통하여 상기 드론용 배터리의 온도를 측정하고, 상기 온도가 임계 온도를 넘는지 판단하고, 상기 배터리의 온도에 대한 정보 전달 신호를 상기 통신부를 통해 상기 원격 조종기로 전달하고, 상기 제어 신호가 상기 배터리의 잔존 수명에 대한 정보 요청 신호인 경우, 상기 배터리 관리 시스템의 출력부 및 측정부를 이용하여 상기 배터리의 임피던스를 측정하고, 상기 배터리 관리 시스템의 프로세서를 통해 상기 배터리 관리 시스템의 메모리에 저장된 뉴럴 네트워크 모델을 이용하여 상기 임피던스를 기초로 상기 배터리의 잔존 수명을 추정하고, 상기 배터리의 잔존 수명에 대한 정보 전달 신호를 상기 통신부를 통해 상기 원격 조종기로 전달할 수 있다.
상기 배터리 관리 시스템은, 배터리의 충전 상태를 표시하는 충전 상태 표시부; 상기 배터리의 온도를 측정하는 상기 온도 센서; 상기 배터리에 정전류를 입력하는 상기 출력부; 상기 배터리의 전압, 전류 및 임피던스를 측정하는 상기 측정부; 상기 프로세서; 및 상기 메모리를 포함하고, 상기 제어 신호가 상기 배터리의 잔존 수명에 대한 정보 요청 신호인 경우, 상기 출력부는, 상기 배터리로부터 전달되는 전류의 잡음을 필터링하고, 상기 출력부에 인가되는 정전기를 제거하고, 상기 캐패시터에 남아있는 전하에 의해 발생하는 스파크를 제거하고, 상기 측정부에 의해 측정된 전압에 대응하여 캐패시터를 선택하고, 상기 배터리의 임피던스의 저항 및 리액턴스 측정을 위하여 입력 전류의 주파수를 선택하고, 상기 측정부에 의해 측정되는 임피던스에 대응하여 입력 전류의 크기를 설정하고, 상기 메모리는 상기 배터리의 충전 횟수, 상기 온도 센서에 의해 측정된 온도, 상기 배터리의 사용 시간, 상기 배터리의 용량, 상기 배터리에 대한 프로파일 및 배터리의 수명을 예측하기 위한 뉴럴 네트워크 모델을 저장하고, 상기 측정부는, 제1 시점에 상기 배터리의 임피던스를 측정하여 제1 임피던스를 결정하고, 제2 시점에 상기 배터리의 임피던스를 측정하여 제2 임피던스를 결정하고, 상기 프로세서는, 상기 제1 임피던스, 상기 제2 임피던스, 상기 배터리의 충전 횟수, 상기 온도 센서에 의해 측정된 온도, 상기 배터리의 사용 시간, 상기 배터리의 용량을 기초로 상기 뉴럴 네트워크 모델을 이용하여 상기 배터리의 수명을 추정할 수 있다.
상기 프로세서는, 상기 제1 임피던스, 상기 제2 임피던스, 상기 배터리의 충전 횟수, 상기 온도 센서에 의해 측정된 온도, 상기 배터리의 사용 시간, 상기 배터리의 용량을 기초로 상기 배터리의 수명의 추정을 진행할지 여부를 결정하고, 진행하기로 결정된 경우, 상기 뉴럴 네트워크 모델을 이용하여 상기 배터리의 수명을 추정할 수 있다.
상기 뉴럴 네트워크 모델은 입력 레이어, 하나 이상의 은닉 레이어 및 출력 레이어를 포함하고, 상기 프로세서는, 상기 제1 임피던스의 저항 및 리액턴스, 제1 시점의 충전 횟수, 제1 시점의 온도, 제1 시점의 사용 시간, 제1 시점의 용량으로 구성되는 제1 입력 벡터 및 상기 제2 임피던스의 저항 및 리액턴스, 제2 시점의 충전 횟수, 제2 시점의 온도, 제2 시점의 사용 시간, 제2 시점의 용량으로 구성되는 제2 입력 벡터를 결정하고, 은닉 레이어에서, 상기 제1 입력 벡터에 대응하는 제1 은닉 상태에 은닉 가중치를 적용하고 상기 제2 입력 벡터에 입력 가중치를 적용하여 상기 제2 입력 벡터에 대응하는 제2 은닉 상태를 계산하고, 상기 제2 은닉 상태를 비선형 활성화 함수에 입력하여 출력 벡터를 출력하고, 출력 레이어에서, 상기 출력 벡터를 기초로 소프트맥스 함수를 이용하여 확률 벡터를 출력하고, 상기 확률 벡터를 기초로 상기 배터리의 수명을 추정할 수 있다.
상기 출력부는 배터리와 연결되는 고주파 필터링 회로, 상기 고주파 필터링 회로와 연결되는 서지 보호 회로, 스파크 방지 회로, 캐패시터 선택 회로 및 정전류 입력 회로를 포함하고, 상기 스파크 방지 회로는 상기 서지 보호 회로, 상기 캐패시터 선택 회로 및 상기 정전류 입력 회로와 연결되고, 상기 고주파 필터링 회로는 상기 배터리로부터 전달되는 전류에 포함된 노이즈를 필터링하여 상기 스파크 방지 회로로 전달하고, 상기 서지 보호 회로는 상기 출력부의 내부의 정전기를 제거하고, 상기 스파크 방지 회로는, 상기 배터리가 상기 출력부에 연결될 때 발생하는 스파크를 제거하고, 상기 배터리가 상기 출력부와 개방될 때 발생하는 스파크를 제거하고, 상기 캐패시터 선택 회로는 제1 캐패시터 및 제2 캐패시터를 포함하고, 상기 측정부에 의해 측정된 상기 배터리의 전압이 임계 전압 이하인 경우 상기 제1 캐패시터 및 상기 제2 캐패시터를 병렬로 연결하고, 상기 측정부에 의해 측정된 상기 배터리의 전압이 임계 전압을 초과하는 경우 상기 제1 캐패시터 및 상기 제2 캐패시터를 직렬로 연결하고, 상기 정전류 입력 회로는, 상기 배터리의 임피던스의 저항을 측정하기 위하여 제1 주파수를 선택하고, 상기 배터리의 임피던스의 리액턴스를 측정하기 위하여 제2 주파수를 선택하고, 상기 제1 주파수는 상기 제2 주파수보다 크고, 상기 제1 주파수 또는 상기 제2 주파수를 기초로, 복수의 전류의 크기를 포함하는 프로파일에 따라 가장 작은 전류부터 순차적으로 전류를 변경하며 상기 배터리의 임피던스를 측정할 수 있다.
상기 뉴럴 네트워크 모델은 입력 레이어, 하나 이상의 은닉 레이어 및 출력 레이어를 포함하고, 임피던스의 저항 및 리액턴스, 충전 횟수, 온도, 사용 시간, 용량으로 구성된 각각의 학습 데이터는 상기 뉴럴 네트워크 모델의 상기 입력 레이어에 입력되어 상기 하나 이상의 은닉 레이어 및 출력 레이어를 통과하여 출력 벡터를 출력하고, 상기 출력 벡터는 상기 출력 레이어에 연결된 손실함수 레이어에 입력되고, 상기 손실함수 레이어는 상기 출력 벡터와 각각의 학습 데이터에 대한 정답 벡터를 비교하는 손실 함수를 이용하여 손실값을 출력하고, 상기 뉴럴 네트워크 모델의 파라미터는 상기 손실값이 작아지는 방향으로 학습될 수 있다.
실시예들에 대한 이해를 돕기 위해 상세한 설명의 일부로 포함된, 첨부 도면은 다양한 실시예들을 제공하고, 상세한 설명과 함께 다양한 실시예들의 기술적 특징을 설명한다.
도 1은 일 실시예에 따른 전자 장치의 구성을 나타내는 도면이다.
도 2는 일 실시예에 따른 프로그램의 구성을 나타내는 도면이다.
도 3은 일 실시예에 따른 배터리 관리 시스템을 포함하는 장치의 전체 구성을 도시한 도면이다.
도 4는 일 실시예에 따른 배터리 관리 시스템의 전체 구성을 나타내는 도면이다.
도 5는 일 실시예에 따른 출력부의 구조를 도시한 도면이다.
도 6은 일 실시예에 따른 뉴럴 네트워크 모델의 구조를 설명하기 위한 예시적인 도면이다.
도 1은 일 실시예에 따른 전자 장치의 구성을 나타내는 도면이다.
도 2는 일 실시예에 따른 프로그램의 구성을 나타내는 도면이다.
도 3은 일 실시예에 따른 배터리 관리 시스템을 포함하는 장치의 전체 구성을 도시한 도면이다.
도 4는 일 실시예에 따른 배터리 관리 시스템의 전체 구성을 나타내는 도면이다.
도 5는 일 실시예에 따른 출력부의 구조를 도시한 도면이다.
도 6은 일 실시예에 따른 뉴럴 네트워크 모델의 구조를 설명하기 위한 예시적인 도면이다.
이하의 실시예들은 실시예들의 구성요소들과 특징들을 소정 형태로 결합한 것들이다. 각 구성요소 또는 특징은 별도의 명시적 언급이 없는 한 선택적인 것으로 고려될 수 있다. 각 구성요소 또는 특징은 다른 구성요소나 특징과 결합되지 않은 형태로 실시될 수 있다. 또한, 일부 구성요소들 및/또는 특징들을 결합하여 다양한 실시예들을 구성할 수도 있다. 다양한 실시예들에서 설명되는 동작들의 순서는 변경될 수 있다. 어느 실시예의 일부 구성이나 특징은 다른 실시예에 포함될 수 있고, 또는 다른 실시예의 대응하는 구성 또는 특징과 교체될 수 있다.
도면에 대한 설명에서, 다양한 실시예들의 요지를 흐릴 수 있는 절차 또는 단계 등은 기술하지 않았으며, 당해 기술분야에서 통상의 지식을 가진 자의 수준에서 이해할 수 있을 정도의 절차 또는 단계는 또한 기술하지 아니하였다.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 "포함(comprising 또는 including)"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 "...부", "...기", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. 또한, "일(a 또는 an)", "하나(one)", "그(the)" 및 유사 관련어는 다양한 실시예들을 기술하는 문맥에 있어서(특히, 이하의 청구항의 문맥에서) 본 명세서에 달리 지시되거나 문맥에 의해 분명하게 반박되지 않는 한, 단수 및 복수 모두를 포함하는 의미로 사용될 수 있다.
이하, 다양한 실시예들에 따른 실시 형태를 첨부된 도면을 참조하여 상세하게 설명한다. 첨부된 도면과 함께 이하에 개시될 상세한 설명은 다양한 실시예들의 예시적인 실시형태를 설명하고자 하는 것이며, 유일한 실시형태를 나타내고자 하는 것이 아니다.
또한, 다양한 실시예들에서 사용되는 특정(特定) 용어들은 다양한 실시예들의 이해를 돕기 위해서 제공된 것이며, 이러한 특정 용어의 사용은 다양한 실시예들의 기술적 사상을 벗어나지 않는 범위에서 다른 형태로 변경될 수 있다.
도 1은 일 실시예에 따른 전자 장치의 구성을 나타내는 도면이다.
도 1은, 다양한 실시예들에 따른, 네트워크 환경(100) 내의 전자 장치(101)의 블록도이다. 도 1을 참조하면, 네트워크 환경(100)에서 전자 장치(101)는 제 1 네트워크(198)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(102)와 통신하거나, 또는 제 2 네트워크(199)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(104) 또는 서버(108) 중 적어도 하나와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 서버(108)를 통하여 전자 장치(104)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(101)는 프로세서(120), 메모리(130), 입력 모듈(150), 음향 출력 모듈(155), 디스플레이 모듈(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 연결 단자(178), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(101)에는, 이 구성요소들 중 적어도 하나(예: 연결 단자(178))가 생략되거나, 하나 이상의 다른 구성요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들(예: 센서 모듈(176), 카메라 모듈(180), 또는 안테나 모듈(197))은 하나의 구성요소(예: 디스플레이 모듈(160))로 통합될 수 있다. 전자 장치(101)는 클라이언트, 단말기 또는 피어로 지칭될 수도 있다.
프로세서(120)는, 예를 들면, 소프트웨어(예: 프로그램(140))를 실행하여 프로세서(120)에 연결된 전자 장치(101)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)를 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(120)는 다른 구성요소(예: 센서 모듈(176) 또는 통신 모듈(190))로부터 수신된 명령 또는 데이터를 휘발성 메모리(132)에 저장하고, 휘발성 메모리(132)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(134)에 저장할 수 있다. 일실시예에 따르면, 프로세서(120)는 메인 프로세서(121)(예: 중앙 처리 장치 또는 어플리케이션 프로세서) 또는 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(123)(예: 그래픽 처리 장치, 신경망 처리 장치(NPU: neural processing unit), 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 예를 들어, 전자 장치(101)가 메인 프로세서(121) 및 보조 프로세서(123)를 포함하는 경우, 보조 프로세서(123)는 메인 프로세서(121)보다 저전력을 사용하거나, 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(123)는 메인 프로세서(121)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(123)는, 예를 들면, 메인 프로세서(121)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(121)를 대신하여, 또는 메인 프로세서(121)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(121)와 함께, 전자 장치(101)의 구성요소들 중 적어도 하나의 구성요소(예: 디스플레이 모듈(160), 센서 모듈(176), 또는 통신 모듈(190))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성요소(예: 카메라 모듈(180) 또는 통신 모듈(190))의 일부로서 구현될 수 있다. 일실시예에 따르면, 보조 프로세서(123)(예: 신경망 처리 장치)는 인공지능 모델의 처리에 특화된 하드웨어 구조를 포함할 수 있다. 인공지능 모델은 기계 학습을 통해 생성될 수 있다. 이러한 학습은, 예를 들어, 인공지능 모델이 수행되는 전자 장치(101) 자체에서 수행될 수 있고, 별도의 서버(예: 서버(108))를 통해 수행될 수도 있다. 학습 알고리즘은, 예를 들어, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)을 포함할 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은, 복수의 인공 신경망 레이어들을 포함할 수 있다. 인공 신경망은 심층 신경망(DNN: deep neural network), CNN(convolutional neural network), RNN(recurrent neural network), RBM(restricted boltzmann machine), DBN(deep belief network), BRDNN(bidirectional recurrent deep neural network), 심층 Q-네트워크(deep Q-networks) 또는 상기 중 둘 이상의 조합 중 하나일 수 있으나, 전술한 예에 한정되지 않는다. 인공지능 모델은 하드웨어 구조 이외에, 추가적으로 또는 대체적으로, 소프트웨어 구조를 포함할 수 있다.
메모리(130)는, 전자 장치(101)의 적어도 하나의 구성요소(예: 프로세서(120) 또는 센서 모듈(176))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(140)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(130)는, 휘발성 메모리(132) 또는 비휘발성 메모리(134)를 포함할 수 있다.
프로그램(140)은 메모리(130)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(142), 미들 웨어(144) 또는 어플리케이션(146)을 포함할 수 있다.
입력 모듈(150)은, 전자 장치(101)의 구성요소(예: 프로세서(120))에 사용될 명령 또는 데이터를 전자 장치(101)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 모듈(150)은, 예를 들면, 마이크, 마우스, 키보드, 키(예: 버튼), 또는 디지털 펜(예: 스타일러스 펜)을 포함할 수 있다.
음향 출력 모듈(155)은 음향 신호를 전자 장치(101)의 외부로 출력할 수 있다. 음향 출력 모듈(155)은, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있다. 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
디스플레이 모듈(160)은 전자 장치(101)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 디스플레이 모듈(160)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 디스플레이 모듈(160)은 터치를 감지하도록 설정된 터치 센서, 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 압력 센서를 포함할 수 있다.
오디오 모듈(170)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일실시예에 따르면, 오디오 모듈(170)은, 입력 모듈(150)을 통해 소리를 획득하거나, 음향 출력 모듈(155), 또는 전자 장치(101)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(102))(예: 스피커 또는 헤드폰)를 통해 소리를 출력할 수 있다.
센서 모듈(176)은 전자 장치(101)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일실시예에 따르면, 센서 모듈(176)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(177)는 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일실시예에 따르면, 인터페이스(177)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(178)는, 그를 통해서 전자 장치(101)가 외부 전자 장치(예: 전자 장치(102))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일실시예에 따르면, 연결 단자(178)는, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(179)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일실시예에 따르면, 햅틱 모듈(179)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(180)은 정지 영상 및 동영상을 촬영할 수 있다. 일실시예에 따르면, 카메라 모듈(180)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(188)은 전자 장치(101)에 공급되는 전력을 관리할 수 있다. 일실시예에 따르면, 전력 관리 모듈(188)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(189)는 전자 장치(101)의 적어도 하나의 구성요소에 전력을 공급할 수 있다. 일실시예에 따르면, 배터리(189)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(190)은 전자 장치(101)와 외부 전자 장치(예: 전자 장치(102), 전자 장치(104), 또는 서버(108)) 간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(190)은 프로세서(120)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(190)은 무선 통신 모듈(192)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(194)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제 1 네트워크(198)(예: 블루투스, WiFi(wireless fidelity) direct 또는 IrDA(infrared data association)와 같은 근거리 통신 네트워크) 또는 제 2 네트워크(199)(예: 레거시 셀룰러 네트워크, 5G 네트워크, 차세대 통신 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부의 전자 장치(104)와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성요소(예: 단일 칩)로 통합되거나, 또는 서로 별도의 복수의 구성요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(192)은 가입자 식별 모듈(196)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크 내에서 전자 장치(101)를 확인 또는 인증할 수 있다.
무선 통신 모듈(192)은 4G 네트워크 이후의 5G 네트워크 및 차세대 통신 기술, 예를 들어, NR 접속 기술(new radio access technology)을 지원할 수 있다. NR 접속 기술은 고용량 데이터의 고속 전송(eMBB(enhanced mobile broadband)), 단말 전력 최소화와 다수 단말의 접속(mMTC(massive machine type communications)), 또는 고신뢰도와 저지연(URLLC(ultra-reliable and low-latency communications))을 지원할 수 있다. 무선 통신 모듈(192)은, 예를 들어, 높은 데이터 전송률 달성을 위해, 고주파 대역(예: mmWave 대역)을 지원할 수 있다. 무선 통신 모듈(192)은 고주파 대역에서의 성능 확보를 위한 다양한 기술들, 예를 들어, 빔포밍(beamforming), 거대 배열 다중 입출력(massive MIMO(multiple-input and multiple-output)), 전차원 다중입출력(FD-MIMO: full dimensional MIMO), 어레이 안테나(array antenna), 아날로그 빔형성(analog beam-forming), 또는 대규모 안테나(large scale antenna)와 같은 기술들을 지원할 수 있다. 무선 통신 모듈(192)은 전자 장치(101), 외부 전자 장치(예: 전자 장치(104)) 또는 네트워크 시스템(예: 제 2 네트워크(199))에 규정되는 다양한 요구사항을 지원할 수 있다. 일실시예에 따르면, 무선 통신 모듈(192)은 eMBB 실현을 위한 Peak data rate(예: 20Gbps 이상), mMTC 실현을 위한 손실 Coverage(예: 164dB 이하), 또는 URLLC 실현을 위한 U-plane latency(예: 다운링크(DL) 및 업링크(UL) 각각 0.5ms 이하, 또는 라운드 트립 1ms 이하)를 지원할 수 있다.
안테나 모듈(197)은 신호 또는 전력을 외부(예: 외부의 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 안테나를 포함할 수 있다. 일실시예에 따르면, 안테나 모듈(197)은 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다. 이런 경우, 제 1 네트워크(198) 또는 제 2 네트워크(199)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(190)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(190)과 외부의 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC(radio frequency integrated circuit))이 추가로 안테나 모듈(197)의 일부로 형성될 수 있다.
다양한 실시예에 따르면, 안테나 모듈(197)은 mmWave 안테나 모듈을 형성할 수 있다. 일실시예에 따르면, mmWave 안테나 모듈은 인쇄 회로 기판, 상기 인쇄 회로 기판의 제 1 면(예: 아래 면)에 또는 그에 인접하여 배치되고 지정된 고주파 대역(예: mmWave 대역)을 지원할 수 있는 RFIC, 및 상기 인쇄 회로 기판의 제 2 면(예: 윗 면 또는 측 면)에 또는 그에 인접하여 배치되고 상기 지정된 고주파 대역의 신호를 송신 또는 수신할 수 있는 복수의 안테나들(예: 어레이 안테나)을 포함할 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))을 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일실시예에 따르면, 명령 또는 데이터는 제 2 네트워크(199)에 연결된 서버(108)를 통해서 전자 장치(101)와 외부의 전자 장치(104)간에 송신 또는 수신될 수 있다. 외부의 전자 장치(102, 또는 104) 각각은 전자 장치(101)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시예에 따르면, 전자 장치(101)에서 실행되는 동작들의 전부 또는 일부는 외부의 전자 장치들(102, 104, 또는 108) 중 하나 이상의 외부의 전자 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(101)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(101)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부의 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부의 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(101)로 전달할 수 있다. 전자 장치(101)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 모바일 에지 컴퓨팅(MEC: mobile edge computing), 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다. 전자 장치(101)는, 예를 들어, 분산 컴퓨팅 또는 모바일 에지 컴퓨팅을 이용하여 초저지연 서비스를 제공할 수 있다. 다른 실시예에 있어서, 외부의 전자 장치(104)는 IoT(internet of things) 기기를 포함할 수 있다. 서버(108)는 기계 학습 및/또는 신경망을 이용한 지능형 서버일 수 있다. 일실시예에 따르면, 외부의 전자 장치(104) 또는 서버(108)는 제 2 네트워크(199) 내에 포함될 수 있다. 전자 장치(101)는 5G 통신 기술 및 IoT 관련 기술을 기반으로 지능형 서비스(예: 스마트 홈, 스마트 시티, 스마트 카, 또는 헬스 케어)에 적용될 수 있다.
서버(108)는 전자 장치(101)가 접속되며, 접속된 전자 장치(101)로 서비스를 제공할 수 있다. 또한, 서버(108)는 회원 가입 절차를 진행하여 그에 따라 회원으로 가입된 사용자의 각종 정보를 저장하여 관리하고, 서비스에 관련된 각종 구매 및 결제 기능을 제공할 수도 있다. 또한, 서버(108)는, 사용자 간에 서비스를 공유할 수 있도록, 복수의 전자 장치(101) 각각에서 실행되는 서비스 애플리케이션의 실행 데이터를 실시간으로 공유할 수도 있다. 이러한 서버(108)는 하드웨어적으로는 통상적인 웹 서버(Web Server) 또는 왑 서버(WAP Server)와 동일한 구성을 가질 수 있다. 그러나, 소프트웨어적으로는, C, C++, Java, Visual Basic, Visual C 등 여하한 언어를 통하여 구현되어 여러 가지 기능을 하는 프로그램 모듈(Module)을 포함할 수 있다. 또한, 서버(108)는 일반적으로 인터넷과 같은 개방형 컴퓨터 네트워크를 통하여 불특정 다수 클라이언트 및/또는 다른 서버와 연결되어 있고, 클라이언트 또는 다른 서버의 작업수행 요청을 접수하고 그에 대한 작업 결과를 도출하여 제공하는 컴퓨터 시스템 및 그를 위하여 설치되어 있는 컴퓨터 소프트웨어(서버 프로그램)를 뜻하는 것이다. 또한, 서버(108)는, 전술한 서버 프로그램 이외에도, 서버(108) 상에서 동작하는 일련의 응용 프로그램(Application Program)과 경우에 따라서는 내부 또는 외부에 구축되어 있는 각종 데이터베이스(DB: Database, 이하 "DB"라 칭함)를 포함하는 넓은 개념으로 이해되어야 할 것이다. 따라서, 서버(108)는, 회원 가입 정보와, 게임에 대한 각종 정보 및 데이터를 분류하여 DB에 저장시키고 관리하는데, 이러한 DB는 서버(108)의 내부 또는 외부에 구현될 수 있다. 또한, 서버(108)는, 일반적인 서버용 하드웨어에 도스(DOS), 윈도우(windows), 리눅스(Linux), 유닉스(UNIX), 매킨토시(Macintosh) 등의 운영체제에 따라 다양하게 제공되고 있는 서버 프로그램을 이용하여 구현될 수 있으며, 대표적인 것으로는 윈도우 환경에서 사용되는 웹사이트(Website), IIS(Internet Information Server)와 유닉스환경에서 사용되는 CERN, NCSA, APPACH등이 이용될 수 있다. 또한, 서버(108)는, 서비스의 사용자 인증이나 서비스와 관련된 구매 결제를 위한 인증 시스템 및 결제 시스템과 연동할 수도 있다.
제1 네트워크(198) 및 제2 네트워크(199)는 단말들 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조 또는 서버(108)와 전자 장치들(101, 104)을 연결하는 망(Network)을 의미한다. 제1 네트워크(198) 및 제2 네트워크(199)는 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), 3G, 4G, LTE, 5G, Wi-Fi 등이 포함되나 이에 한정되지는 않는다. 제1 네트워크(198) 및 제2 네트워크(199)는 LAN, WAN 등의 폐쇄형 제1 네트워크(198) 및 제2 네트워크(199)일 수도 있으나, 인터넷(Internet)과 같은 개방형인 것이 바람직하다. 인터넷은 TCP/IP 프로토콜 및 그 상위계층에 존재하는 여러 서비스, 즉 HTTP(HyperText Transfer Protocol), Telnet, FTP(File Transfer Protocol), DNS(Domain Name System), SMTP(Simple Mail Transfer Protocol), SNMP(Simple Network Management Protocol), NFS(Network File Service), NIS(Network Information Service)를 제공하는 전 세계적인 개방형 컴퓨터 제1 네트워크(198) 및 제2 네트워크(199) 구조를 의미한다.
데이터베이스는 데이터베이스 관리 프로그램(DBMS)을 이용하여 컴퓨터 시스템의 저장공간(하드디스크 또는 메모리)에 구현된 일반적인 데이터구조를 가질 수 가질 수 있다. 데이터베이스는 데이터의 검색(추출), 삭제, 편집, 추가 등을 자유롭게 행할 수 있는 데이터 저장형태를 가질 수 있다. 데이터베이스는 오라클(Oracle), 인포믹스(Infomix), 사이베이스(Sybase), DB2와 같은 관계형 데이타베이스 관리 시스템(RDBMS)이나, 겜스톤(Gemston), 오리온(Orion), O2 등과 같은 객체 지향 데이타베이스 관리 시스템(OODBMS) 및 엑셀론(Excelon), 타미노(Tamino), 세카이주(Sekaiju) 등의 XML 전용 데이터베이스(XML Native Database)를 이용하여 본 개시의 일 실시예의 목적에 맞게 구현될 수 있고, 자신의 기능을 달성하기 위하여 적당한 필드(Field) 또는 엘리먼트들을 가질 수 있다.
도 2는 일 실시예에 따른 프로그램의 구성을 나타내는 도면이다.
도 2은 다양한 실시예에 따른 프로그램(140)을 예시하는 블록도(200)이다. 일실시예에 따르면, 프로그램(140)은 전자 장치(101)의 하나 이상의 리소스들을 제어하기 위한 운영 체제(142), 미들웨어(144), 또는 상기 운영 체제(142)에서 실행 가능한 어플리케이션(146)을 포함할 수 있다. 운영 체제(142)는, 예를 들면, AndroidTM, iOSTM, WindowsTM, SymbianTM, TizenTM, 또는 BadaTM를 포함할 수 있다. 프로그램(140) 중 적어도 일부 프로그램은, 예를 들면, 제조 시에 전자 장치(101)에 프리로드되거나, 또는 사용자에 의해 사용 시 외부 전자 장치(예: 전자 장치(102 또는 104), 또는 서버(108))로부터 다운로드되거나 갱신 될 수 있다. 프로그램(140)의 전부 또는 일부는 뉴럴 네트워크를 포함할 수 있다.
운영 체제(142)는 전자 장치(101)의 하나 이상의 시스템 리소스들(예: 프로세스, 메모리, 또는 전원)의 관리(예: 할당 또는 회수)를 제어할 수 있다. 운영 체제(142)는, 추가적으로 또는 대체적으로, 전자 장치(101)의 다른 하드웨어 디바이스, 예를 들면, 입력 모듈(150), 음향 출력 모듈(155), 디스플레이 모듈(160), 오디오 모듈(170), 센서 모듈(176), 인터페이스(177), 햅틱 모듈(179), 카메라 모듈(180), 전력 관리 모듈(188), 배터리(189), 통신 모듈(190), 가입자 식별 모듈(196), 또는 안테나 모듈(197)을 구동하기 위한 하나 이상의 드라이버 프로그램들을 포함할 수 있다.
미들웨어(144)는 전자 장치(101)의 하나 이상의 리소스들로부터 제공되는 기능 또는 정보가 어플리케이션(146)에 의해 사용될 수 있도록 다양한 기능들을 어플리케이션(146)으로 제공할 수 있다. 미들웨어(144)는, 예를 들면, 어플리케이션 매니저(201), 윈도우 매니저(203), 멀티미디어 매니저(205), 리소스 매니저(207), 파워 매니저(209), 데이터베이스 매니저(211), 패키지 매니저(213), 커넥티비티 매니저(215), 노티피케이션 매니저(217), 로케이션 매니저(219), 그래픽 매니저(221), 시큐리티 매니저(223), 통화 매니저(225), 또는 음성 인식 매니저(227)를 포함할 수 있다.
어플리케이션 매니저(201)는, 예를 들면, 어플리케이션(146)의 생명 주기를 관리할 수 있다. 윈도우 매니저(203)는, 예를 들면, 화면에서 사용되는 하나 이상의 GUI 자원들을 관리할 수 있다. 멀티미디어 매니저(205)는, 예를 들면, 미디어 파일들의 재생에 필요한 하나 이상의 포맷들을 파악하고, 그 중 선택된 해당하는 포맷에 맞는 코덱을 이용하여 상기 미디어 파일들 중 해당하는 미디어 파일의 인코딩 또는 디코딩을 수행할 수 있다. 리소스 매니저(207)는, 예를 들면, 어플리케이션(146)의 소스 코드 또는 메모리(130)의 메모리의 공간을 관리할 수 있다. 파워 매니저(209)는, 예를 들면, 배터리(189)의 용량, 온도 또는 전원을 관리하고, 이 중 해당 정보를 이용하여 전자 장치(101)의 동작에 필요한 관련 정보를 결정 또는 제공할 수 있다. 일실시예에 따르면, 파워 매니저(209)는 전자 장치(101)의 바이오스(BIOS: basic input/output system)(미도시)와 연동할 수 있다.
데이터베이스 매니저(211)는, 예를 들면, 어플리케이션(146)에 의해 사용될 데이터베이스를 생성, 검색, 또는 변경할 수 있다. 패키지 매니저(213)는, 예를 들면, 패키지 파일의 형태로 배포되는 어플리케이션의 설치 또는 갱신을 관리할 수 있다. 커넥티비티 매니저(215)는, 예를 들면, 전자 장치(101)와 외부 전자 장치 간의 무선 연결 또는 직접 연결을 관리할 수 있다. 노티피케이션 매니저(217)는, 예를 들면, 지정된 이벤트(예: 착신 통화, 메시지, 또는 알람)의 발생을 사용자에게 알리기 위한 기능을 제공할 수 있다. 로케이션 매니저(219)는, 예를 들면, 전자 장치(101)의 위치 정보를 관리할 수 있다. 그래픽 매니저(221)는, 예를 들면, 사용자에게 제공될 하나 이상의 그래픽 효과들 또는 이와 관련된 사용자 인터페이스를 관리할 수 있다.
시큐리티 매니저(223)는, 예를 들면, 시스템 보안 또는 사용자 인증을 제공할 수 있다. 통화(telephony) 매니저(225)는, 예를 들면, 전자 장치(101)에 의해 제공되는 음성 통화 기능 또는 영상 통화 기능을 관리할 수 있다. 음성 인식 매니저(227)는, 예를 들면, 사용자의 음성 데이터를 서버(108)로 전송하고, 그 음성 데이터에 적어도 일부 기반하여 전자 장치(101)에서 수행될 기능에 대응하는 명령어(command), 또는 그 음성 데이터에 적어도 일부 기반하여 변환된 문자 데이터를 서버(108)로부터 수신할 수 있다. 일 실시예에 따르면, 미들웨어(244)는 동적으로 기존의 구성요소를 일부 삭제하거나 새로운 구성요소들을 추가할 수 있다. 일 실시예에 따르면, 미들웨어(144)의 적어도 일부는 운영 체제(142)의 일부로 포함되거나, 또는 운영 체제(142)와는 다른 별도의 소프트웨어로 구현될 수 있다.
어플리케이션(146)은, 예를 들면, 홈(251), 다이얼러(253), SMS/MMS(255), IM(instant message)(257), 브라우저(259), 카메라(261), 알람(263), 컨택트(265), 음성 인식(267), 이메일(269), 달력(271), 미디어 플레이어(273), 앨범(275), 와치(277), 헬스(279)(예: 운동량 또는 혈당과 같은 생체 정보를 측정), 또는 환경 정보(281)(예: 기압, 습도, 또는 온도 정보 측정) 어플리케이션을 포함할 수 있다. 일실시예에 따르면, 어플리케이션(146)은 전자 장치(101)와 외부 전자 장치 사이의 정보 교환을 지원할 수 있는 정보 교환 어플리케이션(미도시)을 더 포함할 수 있다. 정보 교환 어플리케이션은, 예를 들면, 외부 전자 장치로 지정된 정보 (예: 통화, 메시지, 또는 알람)를 전달하도록 설정된 노티피케이션 릴레이 어플리케이션, 또는 외부 전자 장치를 관리하도록 설정된 장치 관리 어플리케이션을 포함할 수 있다. 노티피케이션 릴레이 어플리케이션은, 예를 들면, 전자 장치(101)의 다른 어플리케이션(예: 이메일 어플리케이션(269))에서 발생된 지정된 이벤트(예: 메일 수신)에 대응하는 알림 정보를 외부 전자 장치로 전달할 수 있다. 추가적으로 또는 대체적으로, 노티피케이션 릴레이 어플리케이션은 외부 전자 장치로부터 알림 정보를 수신하여 전자 장치(101)의 사용자에게 제공할 수 있다.
장치 관리 어플리케이션은, 예를 들면, 전자 장치(101)와 통신하는 외부 전자 장치 또는 그 일부 구성 요소(예: 외부 전자장치의 디스플레이 모듈 또는 카메라 모듈)의 전원(예: 턴-온 또는 턴-오프) 또는 기능(예: 밝기, 해상도, 또는 포커스)을 제어할 수 있다. 장치 관리 어플리케이션은, 추가적으로 또는 대체적으로, 외부 전자 장치에서 동작하는 어플리케이션의 설치, 삭제, 또는 갱신을 지원할 수 있다.
본 명세서에 걸쳐, 뉴럴 네트워크(neural network), 신경망 네트워크, 네트워크 함수는, 동일한 의미로 사용될 수 있다. 뉴럴 네트워크는, 일반적으로 "노드"라 지칭될 수 있는 상호 연결된 계산 단위들의 집합으로 구성될 수 있다. 이러한 "노드"들은, "뉴런(neuron)"들로 지칭될 수도 있다. 뉴럴 네트워크는, 적어도 둘 이상의 노드들을 포함하여 구성된다. 뉴럴 네트워크들을 구성하는 노드(또는 뉴런)들은 하나 이상의 "링크"에 의해 상호 연결될 수 있다.
뉴럴 네트워크 내에서, 링크를 통해 연결된 둘 이상의 노드들은 상대적으로 입력 노드 및 출력 노드의 관계를 형성할 수 있다. 입력 노드 및 출력 노드의 개념은 상대적인 것으로서, 하나의 노드에 대하여 출력 노드 관계에 있는 임의의 노드는 다른 노드와의 관계에서 입력 노드 관계에 있을 수 있으며, 그 역도 성립할 수 있다. 전술한 바와 같이, 입력 노드 대 출력 노드 관계는 링크를 중심으로 생성될 수 있다. 하나의 입력 노드에 하나 이상의 출력 노드가 링크를 통해 연결될 수 있으며, 그 역도 성립할 수 있다.
하나의 링크를 통해 연결된 입력 노드 및 출력 노드 관계에서, 출력 노드는 입력 노드에 입력된 데이터에 기초하여 그 값이 결정될 수 있다. 여기서, 입력 노드와 출력 노드를 상호 연결하는 노드는 가중치를 가질 수 있다. 가중치는 가변적일 수 있으며, 뉴럴 네트워크가 원하는 기능을 수행하기 위해, 사용자 또는 알고리즘에 의해 가변될 수 있다. 예를 들어, 하나의 출력 노드에 하나 이상의 입력 노드가 각각의 링크에 의해 상호 연결된 경우, 출력 노드는 상기 출력 노드와 연결된 입력 노드들에 입력된 값들 및 각각의 입력 노드들에 대응하는 링크에 설정된 가중치에 기초하여 출력 노드 값을 결정할 수 있다.
전술한 바와 같이, 뉴럴 네트워크는, 둘 이상의 노드들이 하나 이상의 링크를 통해 상호연결 되어 뉴럴 네트워크 내에서 입력 노드 및 출력 노드 관계를 형성한다. 뉴럴 네트워크 내에서 노드들과 링크들의 개수 및 노드들과 링크들 사이의 연관관계, 링크들 각각에 부여된 가중치의 값에 따라, 신경망 네트워크의 특성이 결정될 수 있다. 예를 들어, 동일한 개수의 노드 및 링크들이 존재하고, 링크들 사이의 가중치 값이 상이한 두 신경망 네트워크가 존재하는 경우, 두 개의 신경망 네트워크들은 서로 상이한 것으로 인식될 수 있다.
도 3은 일 실시예에 따른 배터리 관리 시스템을 포함하는 장치의 전체 구성을 도시한 도면이다.
드론은 무인항공기로, 원격으로 조종하거나 프로그램하여 자동으로 비행하는 비행 장치이다. 이들은 다양한 크기와 용도로 사용되며, 공용과 상업적인 목적으로 널리 사용되고 있다. 드론은 기체에 따라 멀티로터 드론, 고정익 드론, 그리고 하이브리드 드론 등으로 나눌 수 있다.
멀티로터 드론은 주로 4개 이상의 회전 날개를 가지고 있으며, 이를 통해 비행하고 공중에 정지하는데 사용된다. 멀티로터 드론은 휴대성이 높고 상대적으로 쉽게 조종할 수 있어서 개인 사용자, 사진 및 영상 촬영, 농업, 감시 및 검사, 실시간 맵핑 등 다양한 분야에서 활용될 수 있다.
고정익 드론은 날개가 고정되어 있어 멀티로터 드론보다 더 빠르고 오래 날 수 있으며, 더 큰 거리를 넘나드는데 사용된다. 고정익 드론은 주로 과학 연구, 지리학적 조사, 자연 재해 탐지, 군사 작전 등에 사용될 수 있다.
하이브리드 드론은 멀티로터 드론과 고정익 드론의 기능을 혼합한 드론으로서, 멀티로터 모드에서 수직 이착륙을 하고 고정익 모드에서는 수평 비행을 할 수 있다. 하이브리드 드론은 멀티러도 드론이나 고정익 드론 보다 더 광범위한 용도로 활용될 수 있다.
일 실시예에 따르면, 배터리 관리 시스템을 포함하는 장치(300)는 멀티로터 드론, 고정익 드론 및 하이브리드 드론을 포함할 수 있다. 도 3에는 4개의 프로펠러를 가지는 것으로 표현되나, 이는 설명의 편의를 위한 것이며 배터리 관리 시스템을 포함하는 장치(300)는 고정익 드론 및 하이브리드 드론을 포함할 수 있다.
배터리 관리 시스템을 포함하는 장치(300)는 다양한 분야에서 활용될 수 있다.
배터리 관리 시스템을 포함하는 장치(300)는 사진 촬영 또는 비디오 촬영을 위해 사용될 수 있다. 배터리 관리 시스템을 포함하는 장치(300)는 고해상도 카메라와 함께 사용되어 풍경, 행사, 건축물 등의 사진 및 비디오를 촬영하는 데 이용될 수 있다.
배터리 관리 시스템을 포함하는 장치(300)는 환경의 상태를 파악하기 위하여 환경 모니터링을 수행할 수 있다. 배터리 관리 시스템을 포함하는 장치(300)는 환경 오염, 기후 변화 등을 감시하고, 자연 재해의 영향을 조사하는 데 사용될 수 있다.
배터리 관리 시스템을 포함하는 장치(300)는 농업 분야에 적용될 수 있다. 배터리 관리 시스템을 포함하는 장치(300)는 농작물 상태를 모니터링하고 작물을 해충으로부터 보호하는 데 사용될 수 있다. 배터리 관리 시스템을 포함하는 장치(300)는 농약 배포 장치와 함께 사용되어 농작물을 관리하는데 적용될 수 있다.
배터리 관리 시스템을 포함하는 장치(300)는 인프라 구조물들의 유지 보수 및 안전 관리를 위해 사용될 수 있다. 배터리 관리 시스템을 포함하는 장치(300)는 건물, 다리, 전선 등의 인프라를 점검하고 유지 보수를 하는 데 사용될 수 있다.
배터리 관리 시스템을 포함하는 장치(300)는 재난이나 사고에 대처하기 위해 사용될 수 있다. 배터리 관리 시스템을 포함하는 장치(300)는 재난 상황에서 드론은 인명 구조와 실종자 탐색에 사용될 수 있다.
배터리 관리 시스템을 포함하는 장치(300)는 운송 및 물류 분야에 적용될 수 있다. 배터리 관리 시스템을 포함하는 장치(300)는 소형 물품을 배송하는 데 사용될 수 있다.
도 3을 참조하면, 배터리 관리 시스템을 포함하는 장치(300)는 여러 개의 회전 날개 또는 프로펠러를 가지고 있어, 이를 회전하면서 비행할 수 있다. 주로 4개 이상의 프로펠러로 구성되며, 각 프로펠러에는 모터가 부착되어 있다. 이 모터들은 전력을 제공하여 프로펠러를 회전시킨다. 배터리 관리 시스템을 포함하는 장치(300)의 구조는 다음과 같은 구성을 포함할 수 있다.
일 실시예에 따르면, 배터리 관리 시스템을 포함하는 장치(300)는 본체에서 4개의 상이한 방향으로 돌출된 4개의 윙, 4개의 윙 각각의 말단에 결합된 4개의 액츄에이터, 4개의 액츄에이터 각각에 의해 회전하는 4개의 프로펠러 및 4개의 윙 각각의 중단에 매립된 4개의 전자 변속기를 포함할 수 있다.
본체는 통신부(331), 배터리 및 배터리 관리 시스템을 포함하는 전원부(350), 제어부(340) 및 센서부(360)를 포함할 수 있다. 통신부(331)는 원격 조종기(330)로부터 제어 신호를 수신할 수 있다. 제어부(340)는 제어 신호를 분류하고, 분류 결과에 따라 전원부(350), 센서부(360), 액츄에이터(310) 또는 전자 변속기(320)를 제어할 수 있다.
프레임(Frame)은 배터리 관리 시스템을 포함하는 장치(300)의 본체 및 복수의 윙을 포함한다. 본체 및 복수의 윙은 배터리 관리 시스템을 포함하는 장치(300)의 기본적인 구조로, 모터와 프로펠러를 고정하고 지지하는 역할을 한다. 프레임은 주로 탄소섬유, 알루미늄 등 경량 재질로 만들어지며, 강도와 안정성이 중요하다. 배터리 관리 시스템을 포함하는 장치(300)의 크기와 목적에 따라 다양한 디자인의 프레임이 선택될 수 있다.
프로펠러(Propellers)는 회전하여 배터리 관리 시스템을 포함하는 장치(300)을 공중으로 추진하는 부품으로, 주로 2개의 날개를 가지고 있다. 다만, 이는 예시이며, 3개 이상의 날개를 포함할 수도 있다. 프로펠러의 크기와 모양은 드론의 성능과 안정성에 영향을 미치므로, 적절한 프로펠러 선택이 중요하다.
액츄에이터(310)는 전기 에너지를 기계적인 회전으로 변환하여 프로펠러를 회전시키는 역할을 한다. 배터리 관리 시스템을 포함하는 장치(300)는 하나 이상의 액츄에이터(310)를 가지며, 예를 들어, 브러시리스 DC 모터가 사용될 수 있다. 각 모터의 출력과 성능은 드론의 적재 무게, 비행 안정성 등에 영향을 미친다.
드론에서는 상대적으로 파워(토크)가 크고, 효율적이고 가벼운 브러쉬리스(Brushless) 모터를 사용한다. 브러쉬리스 모터는 외부 코일이 도는 아웃러너(Outrunner) 타입으로 브러쉬 모터 보다 힘이 좋으며, 모터내에서 전류가 공급되는 접촉면인 브러쉬와 커뮤테이터가 없어 수명이 오래 가고 발열도 적다. 또한 토크가 크므로 별도의 기어박스가 필요없어 무개를 절약할 수 있다. 빠른 제어에 필요한 큰 토크, 작은 무게, 높은 효율, 긴 수명 등의 이유로 마이크로, 또는 나노 사이즈의 드론을 제외하고는 대다수 드론이 브러쉬리스 모터를 사용한다.
전자 변속기(Electronic Speed Controller, ESC)(320)는 모터의 회전 속도를 제어하는 장치로, 모터와 배터리 사이에서 동작한다. 원격 조종기(330)의 신호를 받아 모터에 전달하며, 모터의 속도를 조절하여 배터리 관리 시스템을 포함하는 장치(300)의 방향과 고도를 조정한다. 전자 변속기(320)는 센서에서 보내온 데이터를 기반으로 제어부(340)가 보내온 신호대로 모터를 회전시켜 프로펠러를 통해 추진력을 발생시키는 역할을 한다. 제어부(340)는 모터가 충분한 추진력을 발생시킬 정도의 파워를 전달하게 설계되어 있지 않고, 단지 어느 정도의 파워를 발생시키라는 신호(PWM 형태)를 전자변속기에 보내준다. 전자 변속기(320)는 제어부(340)에서 전달된 신호에 따라 모터가 충분한 회전속도에 필요한 파워를 제공한다. 3.7v 리포 배터리를 사용하는 초소형 쿼드콥터는 ESC를 사용하지 않는 경우도 있지만, 250급 쿼드는 주로 11.1v, 10~12A 규격의 전자 변속기(320)를 많이 사용하고 450급 정도의 쿼드는 11.1v이나 14.8v, 20A 정도의 ESC를 사용한다. ESC는 통상 각 모터당 1개씩 사용을 하는 것이 보통이나 4개를 하나로 모아 놓은 Q-Brain ESC 같은 4-in-1 제품도 있다.
제어부(340)는 배터리 관리 시스템을 포함하는 장치(300)를 안정적으로 비행시키기 위한 중앙 제어 시스템으로서, 비행 제어 시스템(Flight Control System)으로 지칭될 수 있다. 제어부는 센서부(360), 통신부(331)의 포트(341), 액츄에이터의 포트(343) 및 전원부(350)의 포트(345)와 연결되며, 배터리 관리 시스템을 포함하는 장치(300)의 자세(roll, pitch, yaw)와 안정성을 유지하고, 배터리를 관리하는데 사용될 수 있다. 제어부(340)는 통신부(331)로 부터 전달된 신호를 기반으로 액츄에이터(310)를 제어할 수 있다. 제어부(340)는 가속도계/자이로스코프 센서를 포함하는 관성측정장치(IMU), 바로미터, 컴파스/지자계 등의 센서 데이터를 기반으로 안정적인 비행이 가능하도록 매우 빠른 연산을 수행하여 액츄에이터(310)를 제어한다. 제어부(340)는 GPS 데이터에 기반하여 사전에 입력된 지리정보에 기반하여 운항하는 GPS 네비게이션 기능을 수행할 수 있으며, 영상 및 소리 센서들을 활용한 충돌회피 기능을 수행할 수 있다.
통신부(331)는 수신기(Receiver)를 포함하며, 드론을 원격으로 조종하기 위해 사용되는 원격 조종기(330)로부터 신호를 수신한다. 원격 조종기(330)의 조작 신호는 수신기로 전송되고, 수신기는 드론의 비행 제어 시스템에 이를 전달할 수 있다. 통신부(331)는 조종자의 의도를 직접적으로 전달해주는 통신장치로 PPM방식의 2.4Ghz 송수신기가 주로 사용된다. GPS, 초음파 센서 등 외부센서들과 제어부(340)간의 통신을 위해서는 주로 시리얼통신이나 I2C 통신을 사용한다. 통신부(331)는 다양한 방식으로 통신을 하는데, 다양한 센서 정보 및 데이터를 Mavlink 프로토콜을 통해서 USB시리얼 방식으로 통신하고, 실외에서 무선 통신 방식으로는 블루투스, 지그비 등을 사용할 수 있다. 외부 센서들은 메인 콘트롤러의 데이터 처리용량의 한계로 라즈베리 파이 같은 별도의 CPU를 사용하기도 하는데, 이러한 레퍼런스 시스템과 메인 CPU와의 통신은 시리얼 통신이나 I2C 통신 등이 사용될 수 있다.
센서부(360)는 안정적인 비행을 할 수 있게 비행 속도/각도, 좌표, 위치 데이타 등을 실시간으로 제어부(340)에 제공한다. 센서부(360)는 가속도계(Accelerometer)와 각속도계(Gyroscope)가 결합된 6축(6DOF) 관성측정장치(IMU) 센서, 절대 고도를 유지하기 위해 기압계(Barometer)가 사용되고, 경로 비행을 위해 GPS와 컴파스/지자계 센서 등을 포함할 수 있다. 센서부(360)는 저고도에서의 정확한 고도 유지와 포지션 홀드 기능을 위해 초음파센서, 옵티컬플루우(Optical Flow) 센서를 더 포함할 수 있다. 이를 통해, 예를 들어, 자율 비행, 장애물 회피, GPS 기반 위치 추적 등의 고급 기능이 구현될 수 있다.
전원부(350)는 배터리(Battery) 및 배터리 관리 시스템(Battery Management System, BMS)을 포함할 수 있다. 배터리는 배터리 관리 시스템을 포함하는 장치(300)의 전원 공급원으로서, 예를 들어, 리튬 폴리머 배터리가 사용될 수 있다. 배터리 관리 시스템을 포함하는 장치(300)의 크기와 성능에 따라 다양한 용량과 전압의 배터리가 선택될 수 있다.
배터리는 드론의 작동을 위해 전기 에너지를 제공하는 장치이다. 드론은 작고 가벼운 구조를 가지고 있기 때문에 충분한 전기 에너지를 공급할 수 있는 배터리가 필요한다. 이러한 배터리는 고밀도 리튬이온 배터리(Li-ion)가 가장 일반적으로 사용된다. 드론용 배터리는 주로 리튬 폴리머(Li-Po) 배터리 또는 리튬 이차 배터리가 사용된다. 리튬 폴리머 배터리는 가벼우며, 높은 에너지 밀도를 가지고 있어 드론의 비행 시간을 최대화할 수 있다 또한, 리튬 폴리머 배터리는 구조적으로 유연하며 다양한 형태로 제작할 수 있어 드론의 디자인에 유연성을 제공한다.
드론용 배터리의 용량은 일반적으로 밀리암페어시간(mAh) 단위로 표시된다. 이는 배터리의 에너지 저장 용량을 나타내며, 높은 mAh 값은 긴 비행 시간을 제공한다. 하지만 배터리의 용량이 클수록 무게도 늘어나기 때문에, 비행 시간과 배터리의 무게 사이에는 상충 관계가 있다 또한, 드론용 배터리는 전압도 중요한 요소이다. 일반적으로 배터리는 3.7V에서 22.2V 사이의 전압을 가진다. 드론의 사양과 요구사항에 따라 적절한 전압의 배터리를 선택해야 한다.
드론에 사용되는 센서 및 전자장치의 증가는 드론의 성능과 기능을 향상시키는 동시에 배터리 관리의 중요성을 높이게 만든다. 배터리는 드론의 동력원이기 때문에 드론의 비행 시간과 성능에 직접적인 영향을 미치기 때문이다. 추가된 센서와 전자장치는 드론이 동작하는 데에 더 많은 에너지를 소모하게 된다. 드론의 성능 향상을 위해 이러한 장치들을 사용하는 것이 필수적이지만, 그만큼 배터리의 에너지 소모가 증가하므로 비행 시간이 단축될 수 있다. 배터리는 충전과 방전 사이클을 반복하면서 점차적으로 성능이 저하된다. 센서와 전자장치의 추가로 인해 드론이 더 자주 작동하게 되면, 배터리의 수명이 더 빨리 감소할 수 있다. 이로 인해 비용과 시간이 소요되는 배터리 교체가 빈번하게 발생할 수 있다. 드론은 안정적으로 비행해야 하며, 조종 능력을 유지해야 한다. 배터리의 잔여 용량을 감안하지 않고 긴 비행 거리를 계획하면 드론이 중간에 비상 착륙하거나 갑작스러운 파워 다운으로 인해 조종이 어려워질 수 있다.
드론 운전자는 비행 계획에 따라 적절한 배터리 수명을 선택하고, 배터리를 충전하고 교체하는 작업을 수행해야 한다. 또한, 드론 운전자는 안전을 위해 배터리의 충전 상태를 주시하고, 사용하기 전에 충분히 충전된 상태인지 확인해야 한다. 또한, 드론용 배터리는 안전에 매우 중요하다. 제조업체의 지침을 준수하고, 올바른 충전기와 충전 방법을 사용해야 한다. 배터리를 잘못 다루면 과열, 폭발 또는 화재와 같은 위험을 초래할 수 있으므로 항상 안전을 최우선으로 생각해야 한다.
일 실시예에 따르면, 전원부(350)의 배터리 관리 시스템은 배터리의 상태를 실시간으로 모니터링할 수 있다. 배터리 관리 시스템은 배터리의 잔존 수명을 체크하거나 배터리의 불량 셀을 체크하는 등 배터리의 상태를 실시간으로 판단할 수 있다. 배터리 관리 시스템은 실시간으로 배터리의 상태를 체크하고 이상 상태를 발견한 경우 빠르게 사용자에게 경고함으로써 드론의 안전성을 향상시킬 수 있다.
배터리 관리 시스템은 드론 운전자가 배터리의 안전 및 성능을 모니터링하고 이상 상태를 감지할 수 있는 기능을 제공한다. 배터리 관리 시스템은 드론 운전자에게 신뢰할 수 있는 정보를 제공하여 비행 중에 발생할 수 있는 문제를 사전에 예방하고 안전을 유지할 수 있도록 도와준다.
배터리 관리 시스템은 배터리의 전압, 전류, 온도 등의 핵심 매개 변수를 모니터링하고 제어하는 시스템이다. 배터리 관리 시스템은 배터리의 충전 상태, 방전 상태, 충전 및 방전 속도 등을 추적하여 운전자에게 배터리 상태에 대한 정보를 제공한다. 또한, 배터리 관리 시스템은 과충전, 과방전, 과열 등의 위험 상황을 탐지하고 이에 대한 경고를 발생시키거나 배터리를 보호하기 위한 조치를 취할 수 있다
배터리 관리 시스템은 전압 및 전류 센서를 통해 실시간으로 전압과 전류 값을 모니터링한다. 이러한 센서를 통하여 배터리 관리 시스템은 배터리의 충전 상태와 방전 상태를 추적하고, 전압이나 전류의 급격한 변화를 감지하여 문제가 발생할 수 있는 상황에 대한 경고를 제공한다. 전원부(350)는 제어 신호가 상기 배터리의 전류 및 전압에 대한 정보 요청 신호인 경우, 상기 배터리 관리 시스템의 측정부를 통하여 상기 배터리의 전류 및 전압을 측정하고, 전류 또는 전압의 급격한 변화가 발생하거나 과전류 또는 과전압이 발생하는지 판단하고, 상기 배터리의 전류 및 전압에 대한 정보 전달 신호를 상기 통신부(331)를 통해 상기 원격 조종기(330)로 전달할 수 있다.
배터리 관리 시스템은 온도 센서를 통하여 배터리의 온도를 모니터링하여 과열을 감지한다. 과열은 배터리의 성능 저하를 초래하거나, 더 나쁜 경우에는 화재나 폭발의 위험을 야기할 수 있다. 배터리 관리 시스템은 온도 센서를 통하여 배터리의 안전 온도 범위를 모니터링하고, 범위를 벗어나면 운전자에게 경고를 보내어 조치를 취할 수 있도록 돕는다. 전원부(350)는 상기 제어 신호가 상기 배터리의 온도에 대한 정보 요청 신호인 경우, 상기 배터리 관리 시스템의 온도 센서를 통하여 상기 드론용 배터리의 온도를 측정하고, 상기 온도가 임계 온도를 넘는지 판단하고, 상기 배터리의 온도에 대한 정보 전달 신호를 상기 통신부를 통해 상기 원격 조종기(330)로 전달할 수 있다.
배터리 관리 시스템은 내장된 LED 등으로 표현되는 충전 상태 표시기를 가지고 있다 이 표시기는 배터리의 현재 충전 상태를 나타내어 운전자가 배터리의 잔량을 확인할 수 있도록 한다.
배터리 관리 시스템은 배터리 용량이나 잔존 수명을 추정하는 기능을 제공한다. 이는 배터리의 남은 에너지를 추적하고 예상 비행 시간 등의 정보를 제공하여 운전자가 비행 계획을 수립할 때 도움을 준다. 전원부(350)는 상기 제어 신호가 상기 배터리의 잔존 수명에 대한 정보 요청 신호인 경우, 상기 배터리 관리 시스템의 출력부 및 측정부를 이용하여 상기 배터리의 임피던스를 측정하고, 상기 배터리 관리 시스템의 프로세서를 통해 상기 배터리 관리 시스템의 메모리에 저장된 뉴럴 네트워크 모델을 이용하여 상기 임피던스를 기초로 상기 배터리의 잔존 수명을 추정하고, 상기 배터리의 잔존 수명에 대한 정보 전달 신호를 상기 통신부를 통해 상기 원격 조종기(330)로 전달할 수 있다.
이처럼, 배터리 관리 시스템은 드론의 안전과 성능에 중요한 역할을 한다. 운전자는 이러한 시스템을 통해 정기적인 점검과 유지 관리를 수행함으로써 배터리의 안전한 운영을 달성할 수 있다.
도 4는 일 실시예에 따른 배터리 관리 시스템의 전체 구성을 나타내는 도면이다.
배터리 관리 시스템(400)은 출력부(410), 측정부(420), 프로세서(430), 메모리(440), 온도 센서(450) 및 충전 상태 표시부(460)을 포함할 수 있다.
측정부(420)는 출력부(410)를 통해 인가된 전류에 반응하여 배터리에 흐르는 전류, 배터리의 전압을 측정하고, 이들을 통해 배터리의 임피던스를 측정할 수 있다. 일반적으로 배터리의 사용 시간이 증가하게 되면 배터리 내부에 화학적인 부산물이 쌓이게 되고 이러한 부산물은 임피던스를 증가시키게 된다. 측정부(420)는 배터리의 임피던스를 측정함으로써 배터리의 수명을 추정하기 위한 데이터를 수집할 수 있다. 측정부(420)는 서로 다른 시점에서 배터리의 임피던스를 측정할 수 있다. 복수의 시점은 주기성을 가질 수 있다. 예를 들어, 측정부(420)는 제1 시점에 상기 배터리의 임피던스를 측정하여 제1 임피던스를 결정하고, 제2 시점에 상기 배터리의 임피던스를 측정하여 제2 임피던스를 결정하고, 각 시점과 임피던스를 매칭하여 메모리(440)에 저장할 수 있다.
출력부(410)는 배터리의 상태를 측정하기 위하여 특정한 전류를 인가하는 구성이다. 출력부(410)는 배터리의 전류, 배터리의 전압, 배터리의 임피던스를 측정하기 위하여 배터리의 특성에 맞는 전류를 인가할 수 있다. 출력부(410)는 배터리에 정전류를 단계별로 입력할 수 있다.
출력부(410)는 측정부에 의해 측정된 전압에 대응하여 캐패시터를 선택할 수 있다. 출력부(410)는 배터리의 임피던스의 저항 및 리액턴스 측정을 위하여 입력 전류의 주파수를 선택할 수 있다. 측정부(420)는 출력부(410)를 통해 인가되는 전류의 주파수를 조정함으로써 배터리의 저항과 리액턴스를 선택적으로 측정할 수 있다. 출력부(410)는 측정부에 의해 측정되는 임피던스에 대응하여 입력 전류의 크기를 설정할 수 있다. 측정부(420)는 계측 범위가 800V에 이르며, 고전압 배터리까지 전압 측정이 가능하여 400V 이하의 타사 제품에 비해 높은 범용성을 가진다. 또한, 저항만 측정하는 타사 제품에 비해 측정부(420)는 리액턴스까지 측정함으로써 임피던스 자체를 정확하게 측정할 수 있는 장점이 있다. 임피던스 전체를 정확하게 측정함으로써 배터리의 불량 상태 및 잔존 수명은 보다 정확하게 추정될 수 있다.
출력부(410)는 배터리로부터 전달되는 전류의 잡음을 필터링하여 보다 정확성을 높일 수 있다. 출력부(410)는 출력부에 인가되는 정전기를 제거할 수 있다. 출력부(410)는 캐패시터에 남아있는 전하에 의해 발생하는 스파크를 제거할 수 있다. 출력부(410)는 고전압이 회로에 인가되는 경우 커플링 캐패시터에 발생하는 순간적인 차징으로 인한 합선을 완화시켜 주는 보조 회로를 포함함으로써 높은 안전성을 확보할 수 있다.
온도 센서(450)는 배터리의 온도를 모니터링하여 과열을 감지한다. 온도 센서(450)는 배터리의 안전 온도 범위를 모니터링하고, 범위를 벗어나면 운전자에게 경고를 보내어 조치를 취할 수 있도록 돕는다.
프로세서(430)는 배터리의 임피던스를 실시간으로 모니터링할 수 있다. 프로세서(430)는 일정한 시간 주기로 배터리의 임피던스를 측정하고 임피던스의 변화를 분석할 수 있다. 프로세서(430)는 임피던스의 분석 결과를 통해 배터리의 수명을 추청할 수 있다. 프로세서(430)는 배터리의 수명이 위험 수준인 경우 경고하거나 교체를 권고할 수 있다. 또한, 프로세서(430)는 실시간으로 드론에 사용되는 불필요한 에너지를 절약함으로써 배터리의 에너지를 효율적으로 관리할 수 있다.
메모리(440)는 시간에 따라 측정되는 임피던스를 저장할 수 있다. 메모리(440)는 드론의 기본 재원, 배터리의 기본 정보 또는 프로파일, 배터리의 용량, 배터리의 사용 시간, 배터리의 충전 횟수, 온도 센서에 의해 측정된 온도, 배터리의 수명을 추정하기 위한 뉴럴 네트워크 모델을 저장할 수 있다.
충전 상태 표시부(460)는 내장된 LED 등으로 배터리의 충전 상태를 표현할 수 있다. 충전 상태 표시부(460)는 배터리의 현재 충전 상태를 나타내어 운전자가 배터리의 잔량을 확인할 수 있다.
이하에서는, 배터리의 잔존 수명을 추정하는 과정이 설명된다.
프로세서(430)는 초기 임피던스보다 높은 임피던스를 감지하여 배터리의 수명이 줄어들었다고 판단할 수 있다. 프로세서(430)는 초기 임피던스를 기준으로 설정한다. 이 초기 임피던스는 배터리의 최적 상태를 나타내며, 수명이 최대치인 상태이다. 초기 임피던스는 배터리의 사용 전에 정확하게 측정하고 저장하여 비교에 활용한다.
프로세서(430)는 실시간 임피던스 값을 초기 임피던스 값과 비교하여 차이를 분석한다. 임피던스가 초기 임피던스보다 상당히 증가한 경우, 이는 배터리의 내부 저항이 증가하여 수명이 줄어들었을 가능성을 나타낼 수 있다. 임피던스의 증가는 배터리의 내부 구성 요소인 화학물질의 변화나 축적된 부식 등으로 인해 발생할 수 있다. 프로세서(430)는 임피던스 증가에 따른 수명 감소 패턴을 분석하여 배터리의 예상 수명을 추정할 수 있다. 이를 통해 프로세서(430)는 운전자에게 수명이 줄어드는 배터리에 대한 사전 경고를 제공할 수 있다.
프로세서(430)는 임피던스 증가가 감지될 경우 운전자에게 경고를 보내어 배터리의 수명이 줄어들었음을 알릴 수 있다. 경고는 비행 중이더라도 시각적, 오디오적 또는 알림 메시지를 통해 전달될 수 있다. 또한, 프로세서(430)는 배터리의 교체 권고를 제공하여 운전자가 수명이 감소한 배터리를 교체할 수 있도록 안내할 수 있다.
이처럼, 배터리 관리 시스템(400)은 임피던스 측정과 비교를 통해 배터리의 수명 변화를 감지하고, 운전자에게 해당 정보를 제공하여 배터리의 상태를 모니터링하고 유지보수를 수행할 수 있도록 도와줄 수 있다.
수명 감소 예측을 위해 뉴럴 네트워크 모델을 사용하는 방식은 다음과 같이 설명될 수 있다.
배터리 관리 시스템(400)은 수명 감소 예측을 위해 다양한 배터리의 특성과 수명 정보를 수집할 수 있다. 이 데이터는 초기 임피던스, 배터리 용량, 주행 시간, 충전 횟수, 온도 등과 같은 다양한 입력 변수를 포함할 수 있다. 또한, 각 배터리의 실제 수명을 기록한 레이블 데이터도 포함될 수 있다.
뉴럴 네트워크 모델의 입력 변수는 배터리의 특성을 나타내는 다양한 변수로 구성된다. 이 변수들은 배터리의 상태 및 사용 정보를 나타내며, 예를 들어 초기 임피던스, 배터리 용량, 주행 시간, 충전 횟수, 온도, 현재 임피던스 등이 될 수 있다.
수집한 데이터는 전처리 과정을 거쳐 모델 학습에 적합한 형태로 가공된다. 이 과정에서 데이터의 정규화, 이상치 처리, 누락된 값 대체 등이 수행될 수 있다. 데이터는 학습 데이터와 검증 데이터, 테스트 데이터로 분할하여 모델을 평가하는 데 사용된다.
수명 감소 예측을 위한 뉴럴 네트워크 모델은 입력 변수와 해당 배터리의 수명 정보를 활용하여 모델의 학습 및 예측을 수행한다. 모델의 구조는 다층 퍼셉트론(MLP), 순환 신경망(RNN), 변형된 자기 회귀 모델(LSTM, GRU) 등 다양한 아키텍처를 고려될 수 있다. 본 명세서에서 뉴럴 네트워크 모델은 RNN 모델로 설계될 수 있다.
뉴럴 네트워크 모델은 학습 데이터를 통해 학습될 수 있다. 이 과정에서 모델은 입력 변수와 수명 정보 간의 관계를 학습하여 수명 감소를 예측할 수 있도록 한다. 검증 데이터에 대해 학습된 모델의 성능이 평가되고, 최적의 모델 파라미터를 결정된다.
임피던스의 저항 및 리액턴스, 충전 횟수, 온도, 사용 시간, 용량으로 구성된 각각의 학습 데이터는 뉴럴 네트워크 모델의 입력 레이어에 입력되어 하나 이상의 은닉 레이어 및 출력 레이어를 통과하여 출력 벡터를 출력하고, 출력 벡터는 출력 레이어에 연결된 손실함수 레이어에 입력되고, 손실함수 레이어는 출력 벡터와 각각의 학습 데이터에 대한 정답 벡터를 비교하는 손실 함수를 이용하여 손실값을 출력하고, 뉴럴 네트워크 모델의 파라미터는 손실값이 작아지는 방향으로 학습될 수 있다.
[수학식 1]
상기 손실 함수는 상기 수학식 1을 따를 수 있다.
상기 수학식 1에서, n은 클래스 별 학습 데이터의 수, y와 j는 클래스를 나타내는 식별자, C는 상수값, M은 클래스의 개수, x_y는 학습 데이터가 클래스 y에 속할 확률값, x_j는 학습 데이터가 클래스 j에 속할 확률값, L은 손실값을 의미하는,
수학식 1에는 클래스 별 학습 데이터의 수가 반영되기 때문에, 학습 데이터의 수가 작은 클래스는 학습에 작은 영향을 미치고 학습 데이터의 수가 큰 클래스는 학습에 큰 영향을 미칠 수 있다.
프로세서(430)는 수명 감소 예측을 수행할지 여부를 먼저 결정할 수 있다. 프로세서(430)는 배터리의 수명을 추정하기에 앞서, 배터리의 수명을 추정할지 여부를 결정할 수 있다. 프로세서(430)는 제1 임피던스, 제2 임피던스, 배터리의 충전 횟수, 온도 센서에 의해 측정된 온도, 배터리의 사용 시간, 배터리의 용량을 기초로 배터리의 수명의 추정을 진행할지 여부를 결정할 수 있다. 여기서, 제1 임피던스는 제1 시점에 측정된 임피던스를 의미하고, 제2 임피던스는 제2 시점에 측정된 임피던스를 의미한다. 진행하기로 결정된 경우, 프로세서(430)는 뉴럴 네트워크 모델을 이용하여 배터리의 수명을 추정할 수 있다. 프로세서(430)는 매 시점마다 모델을 돌리지 않고 배터리 수명에 영향을 미치는 경우라고 판단될 때에만 예측을 함으로써 배터리 관리 시스템(400)의 리소스를 절약할 수 있다.
프로세서(430)는 수학식 2를 이용하여 비교값을 구하고, 비교값을 기준값과 비교하여 수명 감소 예측을 수행할지 여부를 먼저 결정할 수 있다. 프로세서(430)는 비교값이 기준값보다 더 큰 경우에 수명 감소 예측을 수행할 수 있다. 기준값은 배터리의 종류에 따라 학습을 통해 미리 설정될 수 있다.
[수학식 2]
프로세서(430)는 제1 임피던스, 제2 임피던스, 배터리의 충전 횟수, 온도 센서에 의해 측정된 온도, 배터리의 사용 시간, 배터리의 용량에 관한 정보를 기초로 상태 벡터를 결정할 수 있다. 상태 벡터는 특정 시점에서 배터리의 상태와 관련된 데이터로 구성된 벡터 형태의 데이터이다. 예를 들어, 상태 벡터 S1, S2은, 각각 제1 시점, 제2 시점의 임피던스의 R값, X값, 충전 횟수, 온도, 사용 시간, 용량의 7차원의 벡터일 수 있다.
n은 상태 벡터의 차원의 수, P1i는 제1 상태 벡터의 i번째 차원의 값, P2i는 제2 상태 벡터의 i번째 차원의 값, ai는 학습에 의해 설정된 i번째 차원에 대응하는 가중치, b는 학습에 의해 설정된 summation에 적용되는 가중치를 의미한다. min 함수는 괄호 안의 두 값 중에서 더 작은 값을 결정하는 함수이다.
학습된 모델은 새로운 배터리에 대한 수명 감소 예측을 수행할 수 있다. 이를 위해 새로운 배터리의 입력 변수를 모델에 제공하면 모델은 해당 배터리의 수명 감소를 예측할 수 있다. 모델의 출력은 예상 수명 또는 수명에 대한 상대적인 저하 정도일 수 있다.
뉴럴 네트워크 모델은 입력 레이어, 하나 이상의 은닉 레이어 및 출력 레이어를 포함할 수 있다. 뉴럴 네트워크 모델은 시계열 데이터와 같은 순차적인 입력에 대해 강력한 모델링 능력을 가지고 있다.
프로세서(430)는 제1 임피던스, 제2 임피던스, 배터리의 충전 횟수, 온도 센서에 의해 측정된 온도, 배터리의 사용 시간, 배터리의 용량을 기초로 뉴럴 네트워크 모델을 이용하여 배터리의 수명을 추정할 수 있다. 여기서, 제1 임피던스는 제1 시점에 측정된 임피던스를 의미하고, 제2 임피던스는 제2 시점에 측정된 임피던스를 의미한다. 제1 시점은 제2 시점보다 앞선 시점이다. 이하에서는 설명의 편의를 위하여 두 시점만을 가정하지만, 이는 예시일 뿐이며, 3개 이상의 복수의 시점의 데이터가 관여될 수 있다. 각 시점 사이의 시간은 일정할 수도 있고, 특정한 이벤트에 따라 측정될 경우에는 일정하지 않을 수도 있다.
입력 레이어는 특정 시점의 임피던스의 R값, X값, 충전 횟수, 온도, 사용 시간, 용량의 7차원의 배터리 상태와 관련된 다양한 변수를 기초로 구성된 상태 벡터를 입력으로서 받을 수 있다. 프로세서(430)는 제1 임피던스의 저항 및 리액턴스, 제1 시점의 충전 횟수, 제1 시점의 온도, 제1 시점의 사용 시간, 제1 시점의 용량으로 구성되는 제1 입력 벡터 및 제2 임피던스의 저항 및 리액턴스, 제2 시점의 충전 횟수, 제2 시점의 온도, 제2 시점의 사용 시간, 제2 시점의 용량으로 구성되는 제2 입력 벡터를 결정할 수 있다.
은닉 레이어는 재귀 레이어를 포함할 수 있다. 은닉 레이어는 이전 시간 단계의 입력 값을 기억하고 현재 시간 단계의 입력과 함께 처리한다. 은닉 레이어는 내부적으로 가중치와 활성화 함수를 사용하여 입력 데이터를 처리하고 출력을 생성한다. 은닉 레이어는 이전 시간 단계의 입력 값을 기억하여 현재 시간 단계에서 이를 고려하고 예측에 반영한다. 은닉 레이어에서, 프로세서(430)는 제1 입력 벡터에 대응하는 제1 은닉 상태에 은닉 가중치를 적용하고 제2 입력 벡터에 입력 가중치를 적용하여 제2 입력 벡터에 대응하는 제2 은닉 상태를 계산하고, 제2 은닉 상태를 비선형 활성화 함수에 입력하여 출력 벡터를 출력할 수 있다.
출력 레이어는 뉴럴 네트워크 모델의 최종 출력을 생성한다. 이 출력은 예측된 배터리 수명과 같은 원하는 출력 데이터를 포함한다. 출력 레이어는 활성화 함수를 통해 모델의 출력 값을 조정하여 예측 범위에 맞게 조절한다. 출력 레이어에서, 프로세서(430)는 출력 벡터를 기초로 소프트맥스 함수를 이용하여 확률 벡터를 출력할 수 있다. 프로세서(430)는 확률 벡터를 기초로 배터리의 수명을 추정할 수 있다.
예를 들어, 다중 클래스 분류를 해야 하는 경우, 출력 레이어에서 소프트맥스 함수가 사용될 수 있다. 예를 들어, 출력 레이어는 10% 수명 감소, 20% 수명 감소 ?? 90 % 수명 감소 100% 수명 감소의 10개의 클래스를 분류할 수 있으며, 최종 벡터는 각 클래스에 대한 확률을 나타낼 수 있다. 예를 들어, 최종 벡터가 (0.001,0.987, ?? ,0.003)인 경우, 프로세서(430)는 초기 상태에 비해 20%의 수명이 감소된 것으로 추정할 수 있다.
이와 같이 배터리 관리 시스템(400)은 뉴럴 네트워크 모델을 활용하여 배터리의 임피던스 증가와 수명 감소 사이의 관계를 학습하고 예측함으로써 배터리의 성능과 효율성이 제고될 수 있다.
본 명세서에 걸쳐, 뉴럴 네트워크(neural network), 신경망 네트워크, 네트워크 함수는, 동일한 의미로 사용될 수 있다. 뉴럴 네트워크는, 일반적으로 "노드"라 지칭될 수 있는 상호 연결된 계산 단위들의 집합으로 구성될 수 있다. 이러한 "노드"들은, "뉴런(neuron)"들로 지칭될 수도 있다. 뉴럴 네트워크는, 적어도 둘 이상의 노드들을 포함하여 구성된다. 뉴럴 네트워크들을 구성하는 노드(또는 뉴런)들은 하나 이상의 "링크"에 의해 상호 연결될 수 있다.
뉴럴 네트워크 내에서, 링크를 통해 연결된 둘 이상의 노드들은 상대적으로 입력 노드 및 출력 노드의 관계를 형성할 수 있다. 입력 노드 및 출력 노드의 개념은 상대적인 것으로서, 하나의 노드에 대하여 출력 노드 관계에 있는 임의의 노드는 다른 노드와의 관계에서 입력 노드 관계에 있을 수 있으며, 그 역도 성립할 수 있다. 전술한 바와 같이, 입력 노드 대 출력 노드 관계는 링크를 중심으로 생성될 수 있다. 하나의 입력 노드에 하나 이상의 출력 노드가 링크를 통해 연결될 수 있으며, 그 역도 성립할 수 있다.
하나의 링크를 통해 연결된 입력 노드 및 출력 노드 관계에서, 출력 노드는 입력 노드에 입력된 데이터에 기초하여 그 값이 결정될 수 있다. 여기서, 입력 노드와 출력 노드를 상호 연결하는 노드는 가중치를 가질 수 있다. 가중치는 가변적일 수 있으며, 뉴럴 네트워크가 원하는 기능을 수행하기 위해, 사용자 또는 알고리즘에 의해 가변될 수 있다. 예를 들어, 하나의 출력 노드에 하나 이상의 입력 노드가 각각의 링크에 의해 상호 연결된 경우, 출력 노드는 상기 출력 노드와 연결된 입력 노드들에 입력된 값들 및 각각의 입력 노드들에 대응하는 링크에 설정된 가중치에 기초하여 출력 노드 값을 결정할 수 있다.
전술한 바와 같이, 뉴럴 네트워크는, 둘 이상의 노드들이 하나 이상의 링크를 통해 상호연결 되어 뉴럴 네트워크 내에서 입력 노드 및 출력 노드 관계를 형성한다. 뉴럴 네트워크 내에서 노드들과 링크들의 개수 및 노드들과 링크들 사이의 연관관계, 링크들 각각에 부여된 가중치의 값에 따라, 신경망 네트워크의 특성이 결정될 수 있다. 예를 들어, 동일한 개수의 노드 및 링크들이 존재하고, 링크들 사이의 가중치 값이 상이한 두 신경망 네트워크가 존재하는 경우, 두 개의 신경망 네트워크들은 서로 상이한 것으로 인식될 수 있다.
도 4는 일 실시예에 따른 출력부의 구조를 도시한 도면이다.
도 4를 참조하면, 출력부(410)는 배터리(501)와 연결되는 고주파 필터링 회로(411), 고주파 필터링 회로(411)와 연결되는 서지 보호 회로(415), 스파크 방지 회로(417), 캐패시터 선택 회로(413) 및 정전류 입력 회로(419)를 포함할 수 있다. 스파크 방지 회로(417)는 서지 보호 회로(415), 캐패시터 선택 회로(413) 및 정전류 입력 회로(419)와 연결될 수 있다.
고주파 필터링 회로(411)는 배터리(501)로부터 전달되는 전압에 포함된 노이즈를 필터링하여 스파크 방지 회로(417)로 전달할 수 있다. 도 4에서, BD1은 배터리의 플러스 단자에 연결되는 비드이고, BD2는 배터리의 마이너스 단자에 연결되는 비드이다. BD1, BD2는 고주파 잡음을 필터링한다.
서지 보호 회로(415)(Transient Voltage Suppressors, TVS) 는 출력부(410)의 내부의 정전기를 제거할 수 있다. 예를 들어, 출력부(410)의 내부에는 몇 천에서 몇 만 볼트의 정전기가 발생할 수 있는데, 서지 보호 회로(415)는 이러한 고전압을 그라운드로 보낼 수 있다.
스파크 방지 회로(417)는 배터리가 출력부에 연결될 때 발생하는 스파크를 제거하고, 배터리가 출력부와 개방될 때 발생하는 스파크를 제거할 수 있다. 배터리(501)가 측정부(410)에서 떨어지는 순간 측정부(410)에 스파크가 발생할 수 있는데, 스파크 방지 회로(417)는 R1, R2를 통해 전하를 그라운드로 전달함으로써 스파크를 방지할 수 있다. 예를 들어, R1은 220k, R2는 10M일 수 있다. 이때, 스파크 방지 회로(417)는 두 개의 스위치를 각각 7번 단자 및 2번 단자에 연결할 수 있다. 배터리(501)가 측정부(410)에 접촉하는 순간 측정부(410)에 스파크가 발생할 수 있는데, 스파크 방지 회로(417)는 R3, R4, D4를 통해 전하를 그라운드로 전달함으로써 스파크를 방지할 수 있다. 이때, 스파크 방지 회로(417)는 두 개의 스위치를 각각 4번 단자 및 5번 단자에 연결할 수 있다.
캐패시터 선택 회로(413)는 제1 캐패시터(C1) 및 제2 캐패시터(C2)를 포함할 수 있다. 캐패시터 선택 회로(413)는 측정부(420)에 의해 측정된 배터리(501)의 전압이 임계 전압 이하인 경우 제1 캐패시터 및 제2 캐패시터를 병렬로 연결할 수 있다. 캐패시터 선택 회로(413)는 측정부(420)에 의해 측정된 배터리(501)의 전압이 임계 전압을 초과하는 경우 제1 캐패시터 및 제2 캐패시터를 직렬로 연결할 수 있다.
예를 들어, 임계 전압은 200V일 수 있다. 저압 배터리의 임피던스를 측정하기 위해, 캐패시터 선택 회로(413)는 제1 캐패시터 및 제2 캐패시터를 병렬로 연결할 수 있다. 캐패시터 선택 회로(413)는 두 개의 스위치를 각각 5번 단자 및 4번 단자에 연결할 수 있다. 여기서 저압은 DC 0V - 200V를 의미할 수 있다. 고압 배터리의 임피던스를 측정하기 위해, 캐패시터 선택 회로(413)는 제1 캐패시터 및 제2 캐패시터를 직렬로 연결할 수 있다. 캐패시터 선택 회로(413)는 두 개의 스위치를 각각 7번 단자 및 2번 단자에 연결할 수 있다. 여기서 고압은 DC 201V - 800V를 의미할 수 있다. 이처럼, 캐패시터의 선택적인 결합을 통해 저전압과 고전압의 배터리의 임피던스가 모두 측정될 수 있다.
정전류 입력 회로(419)는 배터리(501)의 임피던스의 저항을 측정하기 위하여 제1 주파수를 선택할 수 있다. 정전류 입력 회로(419)는 배터리의 임피던스의 리액턴스를 측정하기 위하여 제2 주파수를 선택할 수 있다. 여기서, 제1 주파수는 제2 주파수보다 크다. 예를 들어, 제1 주파수는 1kHz이고, 제2 주파수는 100Hz일 수 있다. 배터리를 대용량의 캐패시터라고 가정할 때, 1kHz의 소스를 인가하면 캐패시터의 값이 정확하게 측정되지 않을 수 있고, 100Hz의 소스를 인가함으로써 캐패시터의 값이 보다 정확하게 측정될 수 있다. 여기서, 100Hz는 일반적으로 사용되는 배터리의 캐패시터의 측정의 정확도가 가장 높은 주파수이며, 이에 한정하지 않고 다른 저주파수가 적용될 수도 있다.
제1 주파수 또는 제2 주파수를 기초로, 정전류 입력 회로(419)는 복수의 전류의 크기를 포함하는 프로파일에 따라 가장 작은 전류부터 순차적으로 전류를 변경할 수 있고, 측정부(410)는 이에 대응하여 배터리의 임피던스를 측정할 수 있다. 정전류 입력 회로(419)는 U1, U2, U3를 포함할 수 있다. 정전류 입력 회로(419)는 100mA, 10mA, 1mA, 0.1mA의 크기의 프로파일을 사용할 수 있다. 저항이 높은데 전류까지 높으면 회로 내부의 특정한 소자의 전압이 포화 전압에 이를 수 있으므로, 정전류 입력 회로(419)는 가장 낮은 전류부터 커지는 방향으로 전류를 인가하면서 임피던스를 측정할 수 있다. 예를 들어, 정전류 입력 회로(419)는 0.1mA의 전류를 인가하고 측정부(420)에 의해 저항의 크기를 피드백 받을 수 있다. 피드백의 결과가 허용 범위 내인 경우 정전류 입력 회로(419)는 전류의 크기를 1mA로 변경하고 같은 과정을 반복할 수 있다. 피드백의 결과가 허용 범위를 넘는 경우 정전류 입력 회로(419)는 0.1mA의 전류를 유지할 수 있다. 상기 과정이 반복되면서 최적의 전류의 크기가 선택될 수 있다.
도 5는 일 실시예에 따른 뉴럴 네트워크 모델의 구조를 설명하기 위한 예시적인 도면이다.
일 실시예에 따르면, 배터리 관리 시스템(400)에서 사용되는 뉴럴 네트워크 모델은 순환형 뉴럴 네트워크(Recurrent Neural Network) 모델을 포함할 수 있다. 뉴럴 네트워크 모델은 입력을 시퀀스 단위로 처리하는 시퀀스(Sequence) 모델이다.
뉴럴 네트워크 모델은 입력 레이어, 하나 이상의 은닉 레이어 및 출력 레이어를 포함할 수 있다. 은닉 레이어는 재귀 레이어를 포함할 수 있다. 은닉 레이어는 노드에서 활성화 함수를 통해 나온 결과값을 출력 방향으로 보내면서, 다시 은닉 레이어의 노드의 다음 계산의 입력으로 보내는 특징을 가진다. 은닉 레이어에서 활성화 함수를 통해 결과를 내보내는 역할을 하는 노드는 셀(cell)로 지칭될 수 있다. 셀은 이전의 값을 기억하는 일종의 메모리 역할을 동시에 수행할 수 있다.
셀이 출력 방향 또는 다음 시점인 t+1의 셀로 보내는 값은 은닉 상태(hidden state)라고 지칭될 수 있다. t 시점의 셀은 t-1 시점의 셀이 보낸 은닉 상태를 t 시점의 은닉 상태 계산을 위한 입력으로 사용할 수 있다. 모델(620)를 참조하면, 제1 시점, 제2 시점, 제3 시점 ?? 제 t 시점에서의 출력 벡터(621, 523, 525, 527)이 표시된다. 출력 벡터 y1(621)는 시작 은닉 상태 및 제1 시점의 입력 벡터 x1를 기초로 결정될 수 있다. 출력 벡터 y2(623)는 제1 시점의 은닉 상태 및 제2 시점의 입력 벡터 x2를 기초로 결정될 수 있다. 같은 방식으로 제t 시점까지 동일한 과정이 반복되어 제 t 시점의 출력 벡터 yt (627)가 출력될 수 있다.
예를 들어, 배터리 관리 시스템(400)은 10개 단위의 시점의 상태 벡터마다 배터리의 수명을 추정할 수 있다. 이 경우, 제1 시점에서 제10 시점의 상태 벡터가 10개의 셀에 입력되며, 각 셀에서 출력되는 출력 벡터들 중에서 마지막 출력 벡터만 출력 레이어로 전달되고 나머지 출력 벡터들은 폐기된다. 예를 들어, 뉴럴 네트워크 모델은 여러 개의 입력에 대해서 하나의 출력을 출력하는 다 대 일(many-to-one) 구조의 모델일 수 있다. 마지막 출력 벡터는 소프트맥스 함수를 통해 10개의 클래스 중의 하나의 클래스로 분류된다. 각 클래스는 배터리의 초기 수명 대비 줄어든 수명의 퍼센트를 나타내며, 가장 높은 확률을 가지는 클래스에 대응하는 줄어든 수명을 기초로 잔존 수명이 추정된다.
모델(610)은 모델(620)의 특정한 두 셀을 구체화한 예시로서, 입력 벡터의 차원이 4, 은닉 상태의 차원이 2, 출력층의 출력 벡터의 차원이 2이다. 다시 말해 뉴런 단위로 해석하면 입력 레이어의 뉴런 수는 4, 은닉 레이어의 뉴런 수는 2, 출력 레이어의 뉴런 수는 2이다. 제 t 시점(612)에서, 제 t 시점의 2차원의 출력 벡터는 제 t 시점의 4차원의 입력 벡터 및 제 t-1 시점의 2차원의 은닉 상태를 기초로 계산된다.
모델(630)는 모델(610)의 단순화된 버전이다. 현재 시점 t에서의 은닉 상태 값을 ht라고 정의하는 경우, 은닉 레이어의 셀은 ht를 계산하기 위해 총 두 개의 가중치를 가진다. 하나는 입력 레이어를 위한 가중치 W2이고, 다른 하나는 이전 시점 t-1의 은닉 상태인 ht-1을 위한 가중치 Wh이다.
[수학식 3]
[수학식 4]
현재 시점 t에서의 은닉 상태는 수학식 3에 의해 계산될 수 있다. 여기에 사용되는 활성화 함수는 하이퍼볼릭탄젠트 함수(tanh)일 수 있다. 현재 시점 t에서의 출력 벡터는 수학식 4에 의해 계산될 수 있다. 여기서, 함수 f는 비선형 활성화 함수이다. b는 편향이다.
이상에서 설명된 실시예들은 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치, 방법 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
Claims (7)
- 본체;
상기 본체에서 복수의 상이한 방향으로 돌출된 윙;
상기 복수의 윙 각각의 말단에 결합된 액츄에이터;
상기 복수의 액츄에이터 각각에 의해 회전하는 프로펠러; 및
상기 복수의 윙 각각의 중단에 포함된 전자 변속기를 포함하고,
상기 본체는,
통신부;
배터리 및 배터리 관리 시스템을 포함하는 전원부;
제어부; 및
센서부를 포함하고,
상기 통신부는 원격 조종기로부터 제어 신호를 수신하고,
상기 제어부는,
상기 제어 신호를 분류하고, 상기 분류 결과에 따라 상기 전원부, 상기 센서부, 상기 액츄에이터 또는 상기 전자 변속기를 제어하고,
상기 전원부는,
상기 제어 신호가 상기 배터리의 잔존 수명에 대한 정보 요청 신호인 경우, 상기 배터리 관리 시스템의 출력부 및 측정부를 이용하여 상기 배터리의 임피던스를 측정하고, 상기 배터리 관리 시스템의 프로세서를 통해 상기 배터리 관리 시스템의 메모리에 저장된 뉴럴 네트워크 모델을 이용하여 상기 임피던스를 기초로 상기 배터리의 잔존 수명을 추정하고, 상기 배터리의 잔존 수명에 대한 정보 전달 신호를 상기 통신부를 통해 상기 원격 조종기로 전달하고,
상기 배터리 관리 시스템은,
배터리의 충전 상태를 표시하는 충전 상태 표시부;
상기 배터리의 온도를 측정하는 상기 온도 센서;
상기 배터리에 정전류를 입력하는 상기 출력부;
상기 배터리의 전압, 전류 및 임피던스를 측정하는 상기 측정부;
상기 프로세서; 및
상기 메모리를 포함하고,
상기 제어 신호가 상기 배터리의 잔존 수명에 대한 정보 요청 신호인 경우,
상기 출력부는,
상기 배터리로부터 전달되는 전류의 잡음을 필터링하고,
상기 출력부에 인가되는 정전기를 제거하고,
상기 배터리의 캐패시터에 남아있는 전하에 의해 발생하는 스파크를 제거하고,
상기 측정부에 의해 측정된 전압에 대응하여 캐패시터를 선택하고,
상기 배터리의 임피던스의 저항 및 리액턴스 측정을 위하여 입력 전류의 주파수를 선택하고,
상기 측정부에 의해 측정되는 임피던스에 대응하여 입력 전류의 크기를 설정하고,
상기 메모리는 상기 배터리의 충전 횟수, 상기 온도 센서에 의해 측정된 온도, 상기 배터리의 사용 시간, 상기 배터리의 용량, 상기 배터리에 대한 프로파일 및 배터리의 수명을 예측하기 위한 뉴럴 네트워크 모델을 저장하고,
상기 측정부는,
제1 시점에 상기 배터리의 임피던스를 측정하여 제1 임피던스를 결정하고,
제2 시점에 상기 배터리의 임피던스를 측정하여 제2 임피던스를 결정하고,
상기 프로세서는,
상기 제1 임피던스, 상기 제2 임피던스, 상기 배터리의 충전 횟수, 상기 온도 센서에 의해 측정된 온도, 상기 배터리의 사용 시간, 상기 배터리의 용량을 기초로 상기 뉴럴 네트워크 모델을 이용하여 상기 배터리의 수명을 추정하고,
상기 프로세서는,
상기 제1 임피던스, 상기 제2 임피던스, 상기 배터리의 충전 횟수, 상기 온도 센서에 의해 측정된 온도, 상기 배터리의 사용 시간, 상기 배터리의 용량을 기초로 수학식 2와 기준값을 비교하여 상기 배터리의 수명의 추정을 진행할지 여부를 결정하고,
진행하기로 결정된 경우, 상기 뉴럴 네트워크 모델을 이용하여 상기 배터리의 수명을 추정하고,
상기 뉴럴 네트워크 모델은 입력 레이어, 하나 이상의 은닉 레이어 및 출력 레이어를 포함하고,
임피던스의 저항 및 리액턴스, 충전 횟수, 온도, 사용 시간, 용량으로 구성된 각각의 학습 데이터는 상기 뉴럴 네트워크 모델의 상기 입력 레이어에 입력되어 상기 하나 이상의 은닉 레이어 및 출력 레이어를 통과하여 출력 벡터를 출력하고, 상기 출력 벡터는 상기 출력 레이어에 연결된 손실함수 레이어에 입력되고, 상기 손실함수 레이어는 상기 출력 벡터와 각각의 학습 데이터에 대한 정답 벡터를 비교하는 수학식 1의 손실 함수를 이용하여 손실값을 출력하고, 상기 뉴럴 네트워크 모델의 파라미터는 상기 손실값이 작아지는 방향으로 학습되고,
[수학식 1]
상기 수학식 1에서, n은 클래스 별 학습 데이터의 수, y와 j는 클래스를 나타내는 식별자, C는 상수값, M은 클래스의 개수, x_y는 학습 데이터가 클래스 y에 속할 확률값, x_j는 학습 데이터가 클래스 j에 속할 확률값, L은 손실값을 의미하고,
[수학식 2]
수학식 2에서, n은 상태 벡터의 차원의 수, P1i는 제1 상태 벡터의 i번째 차원의 값, P2i는 제2 상태 벡터의 i번째 차원의 값, ai는 학습에 의해 설정된 i번째 차원에 대응하는 가중치, b는 학습에 의해 설정된 summation에 적용되는 가중치, min 함수는 괄호 안의 두 값 중에서 더 작은 값을 결정하는 함수를 나타내는,
배터리 관리 시스템을 포함하는 장치.
- 제1항에 있어서,
상기 전원부는,
상기 제어 신호가 상기 배터리의 전류 및 전압에 대한 정보 요청 신호인 경우, 상기 배터리 관리 시스템의 측정부를 통하여 상기 배터리의 전류 및 전압을 측정하고, 전류 또는 전압의 급격한 변화가 발생하거나 과전류 또는 과전압이 발생하는지 판단하고, 상기 배터리의 전류 및 전압에 대한 정보 전달 신호를 상기 통신부를 통해 상기 원격 조종기로 전달하고,
상기 제어 신호가 상기 배터리의 온도에 대한 정보 요청 신호인 경우, 상기 배터리 관리 시스템의 온도 센서를 통하여 상기 배터리의 온도를 측정하고, 상기 온도가 임계 온도를 넘는지 판단하고, 상기 배터리의 온도에 대한 정보 전달 신호를 상기 통신부를 통해 상기 원격 조종기로 전달하는,
배터리 관리 시스템을 포함하는 장치.
- 삭제
- 삭제
- 제1항에 있어서,
상기 뉴럴 네트워크 모델은 입력 레이어, 하나 이상의 은닉 레이어 및 출력 레이어를 포함하고,
상기 프로세서는,
상기 제1 임피던스의 저항 및 리액턴스, 제1 시점의 충전 횟수, 제1 시점의 온도, 제1 시점의 사용 시간, 제1 시점의 용량으로 구성되는 제1 입력 벡터 및 상기 제2 임피던스의 저항 및 리액턴스, 제2 시점의 충전 횟수, 제2 시점의 온도, 제2 시점의 사용 시간, 제2 시점의 용량으로 구성되는 제2 입력 벡터를 결정하고,
은닉 레이어에서, 상기 제1 입력 벡터에 대응하는 제1 은닉 상태에 은닉 가중치를 적용하고 상기 제2 입력 벡터에 입력 가중치를 적용하여 상기 제2 입력 벡터에 대응하는 제2 은닉 상태를 계산하고, 상기 제2 은닉 상태를 비선형 활성화 함수에 입력하여 출력 벡터를 출력하고,
출력 레이어에서, 상기 출력 벡터를 기초로 소프트맥스 함수를 이용하여 확률 벡터를 출력하고,
상기 확률 벡터를 기초로 상기 배터리의 수명을 추정하는,
배터리 관리 시스템을 포함하는 장치.
- 제1항에 있어서,
상기 출력부는 배터리와 연결되는 고주파 필터링 회로, 상기 고주파 필터링 회로와 연결되는 서지 보호 회로, 스파크 방지 회로, 캐패시터 선택 회로 및 정전류 입력 회로를 포함하고, 상기 스파크 방지 회로는 상기 서지 보호 회로, 상기 캐패시터 선택 회로 및 상기 정전류 입력 회로와 연결되고,
상기 고주파 필터링 회로는 상기 배터리로부터 전달되는 전류에 포함된 노이즈를 필터링하여 상기 스파크 방지 회로로 전달하고,
상기 서지 보호 회로는 상기 출력부의 내부의 정전기를 제거하고,
상기 스파크 방지 회로는, 상기 배터리가 상기 출력부에 연결될 때 발생하는 스파크를 제거하고, 상기 배터리가 상기 출력부와 개방될 때 발생하는 스파크를 제거하고,
상기 캐패시터 선택 회로는 제1 캐패시터 및 제2 캐패시터를 포함하고, 상기 측정부에 의해 측정된 상기 배터리의 전압이 임계 전압 이하인 경우 상기 제1 캐패시터 및 상기 제2 캐패시터를 병렬로 연결하고, 상기 측정부에 의해 측정된 상기 배터리의 전압이 임계 전압을 초과하는 경우 상기 제1 캐패시터 및 상기 제2 캐패시터를 직렬로 연결하고,
상기 정전류 입력 회로는,
상기 배터리의 임피던스의 저항을 측정하기 위하여 제1 주파수를 선택하고, 상기 배터리의 임피던스의 리액턴스를 측정하기 위하여 제2 주파수를 선택하고, 상기 제1 주파수는 상기 제2 주파수보다 크고,
상기 제1 주파수 또는 상기 제2 주파수를 기초로, 복수의 전류의 크기를 포함하는 프로파일에 따라 가장 작은 전류부터 순차적으로 전류를 변경하며 상기 배터리의 임피던스를 측정하는,
배터리 관리 시스템을 포함하는 장치.
- 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230094158A KR102661926B1 (ko) | 2023-07-19 | 2023-07-19 | 드론 용 배터리의 잔존량을 실시간으로 체크하는 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020230094158A KR102661926B1 (ko) | 2023-07-19 | 2023-07-19 | 드론 용 배터리의 잔존량을 실시간으로 체크하는 방법 및 장치 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102661926B1 true KR102661926B1 (ko) | 2024-04-29 |
Family
ID=90883472
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020230094158A KR102661926B1 (ko) | 2023-07-19 | 2023-07-19 | 드론 용 배터리의 잔존량을 실시간으로 체크하는 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102661926B1 (ko) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190050464A (ko) * | 2017-11-03 | 2019-05-13 | 드로젠(주) | 무인 비행체 및 그를 진단하기 위한 시스템 |
JP2020162309A (ja) * | 2019-03-27 | 2020-10-01 | 本田技研工業株式会社 | 寿命予測装置、寿命予測方法、及びプログラム |
KR20210014830A (ko) * | 2019-07-30 | 2021-02-10 | 건국대학교 산학협력단 | 드론 배터리 관리 방법 및 이를 수행하는 장치 |
US20210109159A1 (en) * | 2019-10-11 | 2021-04-15 | Nxp B.V. | Battery impedance measurement circuits and methods thereof |
KR20220148963A (ko) * | 2021-04-29 | 2022-11-08 | 주식회사 웨이브쓰리디 | 드론의 배터리 관리 장치 |
-
2023
- 2023-07-19 KR KR1020230094158A patent/KR102661926B1/ko active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190050464A (ko) * | 2017-11-03 | 2019-05-13 | 드로젠(주) | 무인 비행체 및 그를 진단하기 위한 시스템 |
JP2020162309A (ja) * | 2019-03-27 | 2020-10-01 | 本田技研工業株式会社 | 寿命予測装置、寿命予測方法、及びプログラム |
KR20210014830A (ko) * | 2019-07-30 | 2021-02-10 | 건국대학교 산학협력단 | 드론 배터리 관리 방법 및 이를 수행하는 장치 |
US20210109159A1 (en) * | 2019-10-11 | 2021-04-15 | Nxp B.V. | Battery impedance measurement circuits and methods thereof |
KR20220148963A (ko) * | 2021-04-29 | 2022-11-08 | 주식회사 웨이브쓰리디 | 드론의 배터리 관리 장치 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Pinto et al. | A framework for analyzing fog‐cloud computing cooperation applied to information processing of UAVs | |
Kurunathan et al. | Machine learning-aided operations and communications of unmanned aerial vehicles: A contemporary survey | |
KR102480969B1 (ko) | 뉴럴 네트워크를 이용하여 설정된 값을 기반으로 몰래 카메라를 탐지한 결과에 따라 전력을 공급하는 방법 및 장치 | |
KR102467890B1 (ko) | 뉴럴 네트워크를 이용하여 서버가 도면과 관련된 물품에 대한 정보를 제공하는 방법 및 장치 | |
Do et al. | Energy‐Efficient Unmanned Aerial Vehicle (UAV) Surveillance Utilizing Artificial Intelligence (AI) | |
KR102492333B1 (ko) | 뉴럴 네트워크를 이용하여 주차와 관련된 정보를 기반으로 단말에게 진료 예약 일정에 대한 정보를 제공하는 방법 및 장치 | |
Xu et al. | LUNA: Lightweight UAV navigation based on airborne vision for disaster management | |
KR102661926B1 (ko) | 드론 용 배터리의 잔존량을 실시간으로 체크하는 방법 및 장치 | |
KR102645034B1 (ko) | 드론 용 배터리의 불량을 실시간으로 체크하고 대응하는 방법 및 장치 | |
KR102682629B1 (ko) | 배터리의 상태를 실시간으로 모니터링하는 방법 및 장치 | |
KR102350668B1 (ko) | 드론을 이용한 인공지능 기반의 조경작업용 스마트 사용자 상황 감시 시스템 및 방법 | |
CN113919188B (zh) | 一种基于上下文-mab的中继无人机路径规划方法 | |
Bisio et al. | Innovative flying strategy based on drone energy profile: an application for traffic monitoring | |
Singh et al. | Development of an Autonomous UAS for on Air Surveillance and Object Detection: A Real Execution | |
Šul'aj et al. | UAV management system for the smart city | |
KR102688163B1 (ko) | 뉴럴 네트워크를 기반으로 방문 대상을 감지하여 적어도 하나의 음향 출력 장치를 자동으로 동작시키는 방법 및 시스템 | |
KR102504950B1 (ko) | 뉴럴 네트워크를 이용하여 예측된 상품 판매량을 사용자 단말에게 제공하는 방법 및 장치 | |
Šuľaj et al. | UAV Management system for the smart city | |
KR102439323B1 (ko) | 플랜트 상태 관리 시스템 | |
KR102604762B1 (ko) | 뉴럴 네트워크를 이용하여 예측된 배송량에 기반하여 물류 거점에 대한 배송량을 결정하는 방법 및 장치 | |
KR102643021B1 (ko) | 뉴럴 네트워크를 기반으로 사용자 단말에게 무단 침입을 자동으로 알리는 방법 및 시스템 | |
KR102689709B1 (ko) | 뉴럴 네트워크를 기반으로 무단 침입을 감지하여 적어도 하나의 조명 장치를 자동으로 동작시키는 방법 및 시스템 | |
KR102658699B1 (ko) | IoT기반의 실시간 계측데이터 모니터링 장치 및 방법 | |
KR102678081B1 (ko) | 인공지능 영상 분석 기술을 활용한 영상 공간 커버리지 기반 디지털 트윈 모니터링 시각화 방법 및 장치 | |
Almaameri et al. | An Overview of Drones Communication, Application and Challenge in 5G Network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |