드론의 안전성 향상을 위한 효율적인 비행제어장치의 설계 및 구현
초록
본 논문은 소형 드론의 안전성 향상을 위한 효율적인 비행제어장치(FCC: Flight Control Computer)의 설계 및 구현을 제안한다. 제안한 방법에서는 고장으로 인한 추락 사고를 방지하기 위한 2중 FCC를 사용하며, 이들의 신속한 전환(switching) 제어를 위해 제어회로를 조합회로로 설계하고 FPGA로 구현한다. 또한, 시스템의 안전성을 유지하기 위해서 정상 상태 및 이상 유무를 감시하기 위한 효율적인 알고리듬을 제시한다. 제안하는 방법에서는 오픈소스 기반의 비행 제어 소프트웨어 플랫폼(PX4 스택)을 사용하여 FCC의 성능을 개선한다. 특히, 시스템 이중화를 위한 이중화 소프트웨어 구현은 정보공유 미들웨어(uORB)을 기반으로 태스크를 작성하여 비행제어스택에 패치(patch)하여 구현한다. 이로써 비행제어스택 버전이 바뀌어도 간단한 조작만으로 이중화시스템 구현이 가능하게 하며, 향후 다양한 이상 동작 판단 알고리즘을 연구 개발할 수 있는 융통성이 있다. 구현된 비행제어장치는 쿼드 및 헥사타입의 무인기를 이용한 실험을 통하여 제안 방법의 안전성을 검증하였다.
Abstract
In this paper, we propose the design and implementation of an efficient FCC(Flight Control Computer) for improving the safety of Drones. In this approach, dual FCC is first used for protecting the crash accidents caused by the failure, and then we design a control circuit for rapid switching control of dual FCC as a combinational circuit and implement it in FPGA. In addition, an efficient algorithm is presented for checking both normal operation and system errors in order to ensure the safety of the system. In order to improve the performance of FCC, the flight control software platform called PX4 stack is used on the basis of open-source. In particular, the implementation of the redundant program is updated by patching the flight control firmware based on the micro Object Request Broker(uORB) through modification of the source of flight control and the addition of monitoring tasks. Thus, even if the flight control version is changed, it is possible to implement a redundant system with only simple operation and it suggests the possibility of research and development of various abnormal behavior judgment algorithms in the future. The implemented FCC system verified the safety of the proposed method through actual experiments using quad and hexa-type drones.
Keywords:
drone, dual flight control computer, PX4, redundant programⅠ. 서 론
최근, 초지능화 초정보화를 지향하는 4차 산업혁명이라는 화두가 등장하면서 기존의 산업구조와 우리의 생활방식에 큰 변화를 가져올 것으로 예상된다. 특히, 다보스 포럼에서 4차 산업혁명의 중요 기술적 견인요인으로 주목받고 있는 드론은 민간용 드론의 보급이 일반화되어 가고 있으며, 성장단계를 지나 성숙단계에 접어들고 있다. 국내에서는 연구개발 후기를 지나 시장도입기에 진입하고 있으며 농업용 및 산업용 드론 산업으로 확장되고 있다.
이와 같이 드론(무인비행 장치) 보급이 활발해지면서 무인기 추락에 의한 원치 않는 사고들이 증가하고 있다. 이로 인하여 무인기의 기술적 신뢰성과 비행의 안전성은 가장 많이 거론되는 주제이며, 많은 무인기 개발자들이 이를 해결하고자 노력하고 있다[1].
무인 비행체의 사고 원인들 중 가장 큰 빈도수는 추진기관 문제와 비행조종시스템이 원인으로 조사되어 비행제어장치에 대한 신뢰성, 안전성 향상에 대한 연구가 필요하다. 무인 비행체의 안전성에 관한 연구 중에는 비행제어장치의 오작동으로 인한 추락사고의 원인을 최소화하기 위하여 비행제어장치를 다중으로 구성하는 방법 등의 연구가 진행되고 있다[2].
비행제어장치는 고속비행으로 인한 높은 진동과, 비행에 따른 온도 변화 등 여러 환경변수의 변화가 심한 환경에 노출되어 동작하므로 여러 보완장치로 외란에 강력하게 대비 되도록 설계되지만, 오동작을 완전히 배제할 수는 없다. 유인비행체의 경우 비행제어장치의 동작을 확인하여 비행/제어의 불연속 상황이 발생되는지 여부를 감시시스템을 통하여 확인하고, 문제발생 시 즉시 전환하여 운영을 계속하도록 하는 방법으로 안전성을 향상시키고 있다. 이와 같은 판단기법을 무인 비행체에도 적용할 수 있도록 소형의 저가시스템으로 구현할 수 있다면 무인기 비행안전에 크게 기여할 수 있을 것이다.
고정익 무인기는 물론 회전익 무인기의 비행 중에 발생되는 FCC의 이상 동작은 매우 치명적이므로 곧바로 추락사고로 이어지게 된다. 따라서 이상 발생 후 최대한 빠른 시간이내에 제어가 정상 복귀될 수 있는 신뢰성과 안전성이 높은 비행장치 제어기술이 필요하다[3].
본 논문에서는 안전성 향상을 위한 효율적인 비행제어장치(FCC, Flight Control Computer)의 설계 및 구현을 제안한다. 제안한 방법에서는 고장으로 인한 추락 사고를 방지하기 위한 이중 FCC를 사용하며, 이들의 신속한 전환(Switching) 제어를 위해 제어회로를 조합회로로 설계하고 FPGA로 구현한다.
또한, 시스템의 정상상태 및 이상 유무를 감시를 위한 제어 (이중화 소프트웨어 및 이상판단 알고리즘) 모듈이 FCC내에 탑재되어 안전성을 확보하게 한다.
Ⅱ. 관련연구
2.1 드론의 개요
드론(Drone)은 조종자가 탑승하지 않은 채 제어장치에 입력된 프로그램에 따라 자율비행 및 운영이 가능한 항공기로서 동력장치로부터 추진력을 얻을 수 있는 재사용이 가능한 비행체를 말한다.
드론은 고정익 또는 회전익 항공기와 유사한 형태로 제작된 무인 비행체를 지칭한다[3].
무인기와 원격제어(Remote control) 비행기의 차이점은 자율 비행 기능의 유무에 있으며, 이것은 사전에 입력된 프로그램에 따라 비행체 자신이 주위환경(각종 장애물, 기상 변화, 항로 등)을 인식하고 판단하여 자율 비행을 위한 제어장치의 탑재 여부에 따라 분류할 수 있다[4].
2.2 FCC 관련기술
최근의 무인항공기 비행제어장치은 초소형 고성능의 다양한 소자의 개발로 인하여 신뢰성 높은 소형 FCC H/W 구현이 가능하게 되어 비행제어 성능과 기능의 급속한 발전이 이루어지고 있으며 제조사들도 다양한 제품을 공급하고 있다. 이들은 Open Source H/W와 S/W를 기반으로 하는 그룹과 독자적인 H/W로 개발하여 보급하는 그룹으로 나누어진다[5].
독자적인 하드웨어 및 소프트웨어를 사용하는 그룹은 군사용 또는 특수 목적용으로 개발하여 공급하는 FCC의 경우가 대부분이며 높은 완성도와 신뢰성을 특징으로 하고 있다. 소수의 제조사는 고가의 제한된 수량만 공급하고 있어 일반적인 상용 드론에서 사용하기에는 용이하지 않은 조건의 시스템이다[6]-[8].
반면, 오픈소스 비행제어장치 플랫폼은 국제적 Work-Group 및 컨소시엄(Dronecode 등) 주도하에 개발되어 관련기술이 보급되면서 다양한 FCC 제조사가 보다 저렴한 가격으로 생산 및 공급하게 됨으로써 일반 상용 무인기에 적용이 매우 용이하게 되었다[9][10].
III. 효율적인 비행제어장치 설계 및 구현
3.1 이중 FCC 및 신호 제어모듈 설계
드론은 미리 설계된 프로그램에 따라 동작하기 때문에 전자기 간섭 등의 외부의 영향이나 환경변화에 대해 높은 신뢰성과 안전성을 요구한다.
그림 1은 FCC를 포함한 시스템의 구성도를 나타낸다. FCC는 Dronecode Work-Group의 오픈소스 플랫폼과 호환이 되며, 추가적으로 와치독(Watchdog) 신호를 출력할 수 있도록 개선하여 설계한다.
본 논문에서는 신뢰성 및 안전성 향상을 위해 2개의 FCC를 사용하는 FCC 이중화 방안을 제안한다.
그림 2는 제안하는 이중 FCC(Dual FCC) 및 신호제어모듈(STM, Switching Terminal Module)의 구성을 나타낸다.
그림 2에서 STM의 역할은 FCC의 정상 동작 여부에 따라 정상적인 통로로 회로를 구성하는 역할을 한다. 즉, 2개의 FCC의 동작상태를 감시하고, 필요시 제어 및 입력 신호를 신속하게 전환하는 기능을 수행한다. 이 모듈은 마이크로프로세서가 데드락(Deadlock)에 진입할 수 있는 요인을 방지하고 보다 빠른 스위칭 동작을 위해 조합논리회로로 설계하여 FPGA 칩상에서 구현하였다.
또한, 각 FCC에는 시스템의 정상동작을 위한 이중화 프로그램이 탑재되어 있으며, 이 프로그램은 실시간 상태정보를 기반으로 각종 센서시스템의 이상 유무를 판단할 수 있는 알고리즘이다.
이중화 BEC(Battery Eliminator Circuit)의 역할은 일정전압을 공급하는 장치로서 2개의 FCC는 물론 기타 주변장치에도 전압을 공급한다.
이중화 프로그램은 오픈소스 플랫폼인 PX4 스택을 기반으로 제작한다. 이 두 비행제어스택은 실시간 운영체제(RTOS)를 기반으로 동작하며 실시간으로 각종 상태정보를 정보공유 미들웨어인 uORB(micro Object Request Broker)로 교환한다[5].
이중화 프로그램은 그림 3과 같이 3단계로 수행 된다.
이때 와치독 펄스는 단계 3에서 생성되는데, 일정한 주기(약 20ms)를 두고 OS로부터 호출되도록 설계한다.
3.2 시스템 H/W 및 S/W 구현 상세
현재 오픈소스로 보급되는 FCC의 H/W는 ARM-Core CPU의 M4계열 마이크로콘트롤러를 기반으로 하고 있다. 이 계열의 CPU 클럭 속도는 약 160 ~ 250MHz로서 본 연구에서 필요로 하는 와치독 소프트웨어(감시Task)를 탑재하기 위해서는 비행제어를 위한 소프트웨어 루틴(Task)의 운영주기를 약 100Hz까지 줄여야 한다. 따라서 본래의 비행제어성능을 유지하기 위해서는 300MHz이상의 클럭 속도가 필요하고 추가적인 메모리가 필요하므로 Cortex-M7(STM32H753) 계열의 마이크로콘트롤러를 설계에 적용하였다. 이 콘트롤러는 최대 동작 속도가 480MHz이고 2MB의 플래시메모리와 1MB의 램메모리를 내장하고 있다. 본 논문에는 수정 보완된 FCC 모듈의 기능구성과 주요 성능 개선영역은 그림 1의 main board 부분이다.
무인기에서 사용하는 신호의 종류, 이중화 대상 장치와 FCC와의 결합 관계를 그림 4에 나타낸다.
이 모듈은 2개의 FCC로부터 감시신호를 입력받아 마스터(Master) FCC(FCC-A)에 이상이 발생되면 예비 FCC(FCC-B)의 신호로 모든 제어신호를 전환되어 출력하도록 제어로직을 구성하였다. 이 회로는 Xilinx사의 FPGA 소자를 사용하여 구현한다.
그림 4에서 Common Device는 공통으로 사용하는 주변장치로 2개의 FCC가 공유하기 위한 것이며, 그 외의 주변장치들은 각 FCC별로 운영하도록 시스템설계를 하였다.
그림 5는 그림 4의 FPGA 소자로 구현된 신호 스위칭 모듈의 블록도를 나타낸다.
Counter회로는 OSC와 Clock Divider 회로에서 만들어진 Clock신호로 Down Count로 동작을 하며, FCC-A의 Watchdog Pulse가 Preset 기능을 하도록 설계하였다.
또한 Changing Decision 회로는 Counter 회로의 Borrow out 값이 '1'되면 Switching Circuit에 전환신호를 출력하게 된다. Counter회로의 fullset되는 주기(Wt_cnt)는 감시주기(Wt)보다 조금 크게 설정하도록 한다. 여기에서 Wt는 FCC가 Watchdog Pulse를 발생하는 주기이며, 여기에서는 BLDC모터의 ESC 제어주기인 20ms의 5배수 주기인 100ms로 설정하여 실험을 수행한다.
결과적으로 Matching Circuit에서 FCC-A나 FCC-B를 선택하게 되고, Switching Circuit에서의 제어신호에 의해서 선택된 FCC를 제어하게 된다(그림 4 참조).
그림 6은 board 상에서 구현된 이중화 스위칭모듈의 외형을 나타낸다.
이 모듈은 2개의 FCC로부터 제공되는 와치독 신호를 감시하여 FCC-A 또는 FCC-B를 선택하도록 설계되었다. 이 때문에 와치독 신호는 이중화 시스템에서 매우 중요하다. 이 와치독 신호는 각 FCC에서 이중화 프로그램이 수행되면서 일정 시간 간격으로 워치도그 펄스 신호를 발생하도록 설계하였고, 만약 FCC에 이상이 있을 경우 신호가 발생하지 않도록 구현하였다.
비행 중 FCC의 이상 및 고장 원인은 여러 가지가 있으나 주요한 원인의 첫 번째는 강력한 외란으로 인한 H/W의 고장 또는 프로그램의 오류 및 정지이며, 두 번째는 주요 센서 부품의 고장이다.
첫 번째의 경우에는 FCC가 동작하지 않아 와치독 포트의 펄스 발생이 멈추므로, 이중화 스위칭보드의 로직에서 예비 FCC로 전환하게 한다.
두 번째 고장의 경우는, 센서의 기계적 열화나 특성변화로 인해 점진적으로 고장 현상이 나타나는 경우와 갑작스런 동작불능 상태로 나누어진다. 본 논문에서는 추락으로 이어질 수 있는 갑작스런 고장 상태만을 전환 대상으로 한다. 이때에는 센서데이터 정상 수집 여부를 최소시간에 판단하여 예비 FCC로 전환이 되도록 하여야 한다. 여기에서는 이를 구현 위한 접근 방법으로 비행제어스택의 uORB를 통한 센서 데이터 수집 방법을 사용한다.
이중화를 위한 프로그램 구성은 그림 7과 같이 센서 정보 수집 및 분석 부분①, 이상 판단 및 와치독 펄스 출력부분② 으로 나누어진다.
그림 7에서 각 데이터 처리부분은 다음과 같이 구현한다.
➀ Check Sensor Data
이 과정에서는 센서정보의 수집 및 분석 등의 자료를 처리한다. 즉, 비행제어스택의 uORB를 통하여 가속도, 자이로, 그리고 지자기센서의 정보들을 주기적(약20ms)으로 수집하여 데이터 변화 유무를 기반으로 고장을 판단한다. 최종 판단을 위한 시간은 100ms를 넘지 않도록 프로그램을 구성한다.
➁ Gen Watchdog Pulse
이 과정에서는 와치독 펄스 출력을 처리하게 된다. 센서시스템에 이상이 없으면 주기적(20ms)에 한번의 와치독 펄스신호를 출력하여서 신호전환이 예비 FCC로 넘어가지 않도록 구현한다. 하나의 펄스신호는 상승에지와 하강에지를 갖도록 한다.
이로써, FCC의 프로그램 오작동 또는 H/W고장에 의한 데드록의 상황에서나, 내부 센서장치의 예기치 않은 고장상황에서 모두 와치독 펄스의 출력을 중지하게 되어 이중화 스위칭모듈에서 신호전환이 일어나도록 구현된다. 이중화 프로그램은 비행제어스택의 기동 시 데몬 태스크로 등록되어 동작한다.
Ⅳ. 설계된 시스템의 실증 실험
4.1 실험 환경 구성
제작된 FCC 이중화 시스템은 550mm급 쿼드로터형 기체와 850mm급 헥사로터형 기체에 각각 탑재하여 성능 실험을 추진하였다. 그림 8은 이중화 시스템을 실증 기체에 탑재한 모습을 보였다.
실증 실험 방법은 임의로 FCC 장치에 별도의 모의고장 Task 프로그램을 주입하여 조종기에서 스위치를 켜면 FCC의 센서 데이터 수집을 하지 못하도록 하여 센서고장 상태를 모사하였다. 그림 9는 실증기체를 통한 실험 사진이다.
4.2 쿼드로터의 실증 실험
쿼드로터 기체에 개발된 이중화시스템을 탑재하여 비행하면서 고장상태를 모사하여 전환되는 순간에 비행의 안전성을 확인하였다. 실험 비행 후에는 2개의 FCC에서 수집된 비행 로그(Log) 데이터를 분석하여 전환되기 전과 후의 조종(Setpoint)데이터와 결과(Estimation)데이터를 그래프로 분석하였다.
그림 10은 PX4의 Fight Log Analysis tools를 이용하여 쿼드로터 기체에 탑재되어 실험한 FCC-A와 FCC-B의 로그 데이터를 분석한 결과이다.
그림 10에서 FCC-A가 제어중인 영역에서는 FCC-A의 예상(결과) 데이터는 설정된 지점으로 정상동작 중에 있으며(Estimation follows the setpoint), FCC-B가 제어중인 영역에서도 조종 데이터를 잘 추종하고 있음을 확인할 수 있다. 그러나, 제어 중에 있지 않은 FCC의 두 데이터는 서로 이격거리가 있는데 이는 각 FCC의 H/W가 갖는 기본 Offset 값과 센서의 오차에서 발생되는 현상이다.
이로 인하여 제어권이 옮겨지는 순간에 불연속 데이터 값에 의해 비행기의 자세가 흔들리게 되지만 곧바로 안정되는 것을 확인할 수 있었다.
4.3 헥사로터의 실증 실험
헥사로터 기체에 개발된 이중화 시스템을 탑재하여 비행하면서 고장상태를 모사하여 전환되는 순간에 비행의 안전성을 확인하였다.
그림 11은 헥사로터 기체에 탑재되어 실험한 FCC-A와 FCC-B의 로그 데이터를 분석한 결과이다.
쿼드로터 기체 실험에서와 동일하게 이중화시스템의 시험비행 로그에서도 FCC-A의 제어와 제어기가 FCC-B로 전환된 이후에도 동일하게 조정됨을 그림 11을 통하여 확인하였다. 이는 각각의 FCC내부 조정 파라미터가 유사하게 수집되어 조정되는 것을 확인한 것이라 할 수 있다. 전환 직전에 나타난 파형의 불일치는 외란에 의한 기체 흔들림과 이에 따른 FCC의 제어 결과이다.
V. 결론 및 향후 과제
본 논문에서는 드론의 안전성 향상을 위한 효율적인 FCC의 이중화 방법을 제안하였다. 이에 따라 무인항공기의 비행 중에 발생되는 FCC의 고장 또는 센서의 이상동작 시 최대 100ms이내에 예비된 FCC로 시스템의 전환이 자동으로 이루어지고 비행제어가 정상 복귀될 수 있는 시스템의 하드웨어와 소프트웨어의 구성 방법을 제시하였다.
여기에서는 첫 번째로 Dronecode Work-Group의 오픈소스 FCC 플랫폼을 이용한 시스템의 안정화를 위한 이중화 시스템 구성 방법을 제안하였고, 두 번째로 제안된 방법에 따라 하드웨어와 이중화 프로그램을 구현하였다. 특별히, 이중화 프로그램 구현에서는 정보공유 미들웨어(uORB)를 이용한 데이터 수집 및 알고리즘 접근방법을 제시하였다. 세 번째는 구현된 시스템을 무인기에 탑재하여 실증 비행실험을 실시하여 제안된 이중화 시스템의 성능을 검증하였다.
실증실험은 쿼드로터형 기체와 헥사로터형 기체를 대상으로 이중화 시스템을 탑재한 후 비행중에 인위적인 고장상태를 모사하였다. 비행중에도 FCC가 예비 FCC로 안전하게 전환되는 기능을 확인하였다. 또한, 전환되는 순간의 불연속 데이터로 인한 비행제어의 안전성을 확인하여 제안한 FCC 이중화 시스템의 동작을 검증하였다.
향후, 본 논문에서 제안된 이중화 프로그램의 기초적인 판단 알고리즘을 벗어나, GPS 장치의 고장 및 센서 이상동작을 좀 더 스마트하게 진단할 수 있는 알고리즘 연구가 필요하다. 또한, 각종 센서 시스템정보를 종합하여 판단하는 복합 알고리즘 등을 개발하여 판단기능을 개선한 다용도의 고성능 드론 시스템 개발이 요구된다.
References
- S. Y. Om, K. H. Park, and Y. H. Kim, "Implementation of Flight Control Computer Redundancy System in Unmanned Aerial Vehicle", The Journal of Contents Computing, Vol. 2, No. 1, pp. 95-103, Jun. 2020. [https://doi.org/10.9728/jcc.2020.06.2.1.95]
- S. J. Lee, H. S. Choi, and K. J. Seong, "Automatic Flight Control Development for Optionally Piloted Vehicle", J. of Korean Society for Aeronautical and Space Sciences, Vol. 42, No. 11, pp. 968-973, 월 2014. [https://doi.org/10.5139/JKSAS.2014.42.11.968]
- S. Y. Om, J. H. Park, S. J. Byeon, and Y. H. Kim, "Design and Implementation of Multi-rotor Type Drone", Proceedings of KIIT Conference, pp. 4-6, un. 2019.
- S. J. You, S. Y. Om, and J. Y. Park, "Multi lane standard system for vehicle detector's evaluation by Drone system", Proceedings of KITS SMART MOBILITY: New Horizon2018, pp. 210-221, Nov. 2018.
- Yeongho Lee and Sangho Ko, "Design of Fault Tolerant algorithm for Multi-copter Actuator Failure", KSAS 2018 Fall Conference, pp. 242-243, Nov. 2018.
- Taehyon Kim, Jungil Bae, Jinbeom Shin, and Kilseok Cho, "A Fault-Tolerant Scheme Based on Message Passing for Mission-Critical Computers", Journal of the KIMST, Vol. 18, No. 6, pp. 762-770, 월 2015. [https://doi.org/10.9766/KIMST.2015.18.6.762]
- B. J. Park, Y. S. Kim, Y. S. Kang, C. S. You, and A. Jo, "Improvement of Flight Control Computer Redundancy for Smart-UAV", Proceedings of The Korean Society for Aeronautical & Space Sciences, pp. 1212-1216, Nov. 2014.
- S. Y. Om and Y. S. Cho, "A Study on the Improvement of Stability of Dual FCC", Proceedings of the Korean Society of Computer Information Conference, Vol. 27, No. 1, pp. 381-382, Jan. 2019.
- B. J. Park, Y. S. Kang, C. S. You, and A. Jo, "Development of FCC Redundancy System for Tiltrotor UAV", Journal of the Korean Society for Aeronautical & Space Sciences, Vol. 45, No. 2, pp. 133-139, Feb. 2017. [https://doi.org/10.5139/JKSAS.2017.45.2.133]
- Youn, Won-Keun, Cho, In-Ho, Kim, and Tae-Sik, "Development Status of Open-architecture based Flight Control/Mission Computer for Small UAV", Current Industrial and Technological Trends in Aerospace, Vol. 14, No. 2, pp. 116-123, Dec. 2016.
1994년 2월 : 청주대학교 대학원 전자공학과(공학석사)
2018년 3월 ~ 현재 : 안양대학교 컴퓨터공학과 박사과정
관심분야 : 무인기 비행제어시스템, ASIC, 임베디드 시스템, IoT시스템
1988년 2월 : 청주대학교 대학원 전자공학과(공학석사)
2012년 2월 : 연세대학교 대학원, 정보공학 (박사수료)
2015년 2월 : 세종대학교, 대학원, 항공우주공학과(박사수료)
2020년 8월 : 목원대학교, 대학원, IT공학과(공학박사)
2016년 ~ 현재 : (주)블루젠드론 대표이사/연구소장
관심분야 : 임베디드 시스템, 무인기 비행제어 시스템, 무인 이동체 통신 시스템/단말기
1979년 2월 광운대학교 전자통신공학과 (학사)
1984년 8월 한양대학교 전자공학과 (공학석사)
1992년 2월 (일)오사카대학교 전자공학과 (공학박사)
1984년 5월 ~ 1993년 2월 한국전자통신연구원 선임연구원
2001년 1월 ~ 2002년 2월 : University of California, Irvine 전기전자공학과 객원교수
1993년 3월 ~ 현재 : 안양대학교 컴퓨터공학과 교수
관심분야 : 무인 비행제어 시스템, 임베디드 시스템, 네트워크 보안, 영상 보안시스템, ASIC 설계, IOT 시스템