메타버스 환경의 가상 전자회로 시뮬레이터

Stella Kim·2022년 9월 1일
0
post-thumbnail

1. 개발배경 및 목적

COVID-19로 인한 팬데믹 상황이 지속되면서 우리나라의 교육체계는 난항을 겪고 있다. 현재 우리는 등교 환경의 제약으로 인해 원격수업을 주축으로 진행되고 있다. 현재의 원격수업은 학생 개개인을 돌보지 못해 의사소통에도 많은 제약이 있어 교육의 효율성이 떨어진다. 이 때문에 현재의 원격수업은 장기적인 교육에는 적합하지 않다. 4차 산업혁명에 들어서고 회로, IoT, 프로그래밍 등을 비롯한 공학이 차지하는 비중이 높아지면서 학교에서도 시대에 맞는 교육을 위해 공학 중심의 실습환경을 갖춰 제공하고 있었다. 하지만 등교할 수 없어지면서 실험 및 실습 기반의 교육을 진행할 수 없게 되었다. 팬데믹이 언제 끝날지 모른다는 점과 이와 같은 현상이 언제 다시 나타날지 모른다는 점, 이와 더불어 현장 위주의 교육에만 집중한 한국의 교육체계에 대한 한계점이 드러남과 동시에 개혁의 필요성이 요구되었다.
여기서 우리는 메타버스 기술이 주목했다. 메타버스의 사전적 의미는 “웹상에서 아바타를 이용하여 사회, 경제, 문화적 활동을 하는 것처럼 가상 세계와 현실 세계의 경계가 허물어지는 것을 의미하는 용어”이다. 사전적 의미에서 유추할 수 있듯이 메타버스는 현실에서의 커뮤니케이션을 하면서도 가상공간이라는 특징 덕분에 공간적, 비용적 제약을 극복할 수 있다는 강점이 있다. 이 때문에 현 팬데믹 상황에서 메타버스의 인지도와 가능성은 나날이 증가하고 있다. 메타버스는 어느 분야든 접목할 수 있을 정도로 확장성이 뛰어나고, 이는 교육 분야에서도 마찬가지이다. 메타버스의 교육적 측면에서의 적용에 대한 고민을 바탕으로 “메타버스 환경의 가상 전자회로 시뮬레이터”라는 프로젝트를 계획하게 되었다.
일반적으로 학교에서 제공하는 IoT 관련 교육에는 아두이노가 흔히 쓰이고 있다. 아두이노를 사용하여 회로를 구성하기 위해서는 브레드보드를 함께 활용한다. 브레드보드의 경우 사용법이 어렵지 않아 초중고 학생들도 쉽게 다룰 수 있지만, 접촉 불량이 발생할 수 있고 화재의 위험성도 존재한다. 또한 현재와 같은 원격수업 환경에서는 교육 기자재를 강의실이 아닌 개별 수업 공간에 확보해야 하지만 상황적으로 어려운 경우가 발생할 수 있다. 그러나 메타버스를 접목하게 된다면 이야기는 완전히 달라진다.
이번 프로젝트의 목적은 비대면 상황에서도 원활하고 효과적인 교육이 가능한 메타버스 기반의 전자회로 교육 환경을 제공하는 것이다. 메타버스 공간에서 가상의 전자회로를 구성하고 동작 여부에 대한 시뮬레이션 기능을 제공한다. 이를 위해, 개발 단계에서 두 가지의 중점 요소 - 전자회로 시스템을 메타버스 환경 내에 구축하는 것과 메타버스와 교육을 접목하는 것 - 를 염두에 두고 개발을 진행했다. 세부적인 사용 방법은 다음과 같다.

  • 메타버스 환경 내에서 회로에 배치 가능한 전기소자를 직접 배치해 보면서 회로를 구성한다.
  • 전기소자 배치 상태를 한눈에 살피고 소자들의 배치에 따른 결과를 확인할 수 있도록 한다.
  • 전자회로 구성에서 발생하는 오류의 원인을 확인할 수 있도록 한다.

본 프로젝트의 취지는 교육적 목적에서부터 비롯된 것이 맞지만 이는 단순히 교육에만 한정되지 않는다. 교사와 학생 사이에서 이루어지는 수업뿐만 아니라 개인적으로 회로를 공부하고자 하는 입문자, 초보자들에게도 유용한 튜토리얼이 될 수 있다.

2. 개발환경 및 개발언어

1) 개발환경

  • 운영체제 : Windows 10
  • CPU : Intel(R) Xeon(R) CPU E3-1245 v6 @ 3.70GHz 3.70 GHz
  • GPU : GTX 1080 Ti
  • Oculus Developer Hub : 1.11.1
  • Unity Hub : 2.4.5
  • Unity : 2020.03.19.f1
  • 플랫폼 : Android

2) 개발언어

  • 런타임 : C++
  • 유니티 스크립팅 API : C#

3. 시스템 구성 및 아키텍처

1) 시스템 구성


본 시스템은 APK 확장자 파일을 통해 VR 기기인 Oculus Quest 2에 설치 및 실행을 할 수 있다. Unity를 이용하여 개발한 APK 확장자 파일을 ODH(Oculus Developer Hub)에서 VR 기기와 연결해 설치한 후 실행시키면 사용자가 VR 기기에서 프로그램을 확인할 수 있다.

2) 아키텍처


시스템은 Unity를 기반으로 개발을 진행한다. VR에서 실행할 수 있는 환경을 만들기 위해 Unity에서 제공하는 XR Toolkit을 사용한다. 환경을 구축한 후 제작하고 Build를 진행할 때 사용하는 플랫폼은 Android이다. Build를 진행하면 APK 파일이 생성된다. 이 파일을 ODH에 업로드하면 ODH와 연동된 VR 기기에 설치가 진행되고 이를 실행하면 VR 기기에서 프로그램이 작동된다.

  • 회로도 구성 : Oculus Quest 2 장비를 이용하여 사용자가 브레드보드에 소자를 선택하여 회로를 구성한다.
  • 회로도 배열 전환 및 저장 : 사용자가 선택한 회로도와 소자의 쌍을 배열로 저장한다.
  • 회로 연결 상태 판단 : 사용자가 “시뮬레이션 시작” 버튼을 선택하게 되면 회로의 연결이 잘 되어있는지 판단을 진행한다.
  • 회로 시뮬레이션 시작 : 회로의 연결이 잘 되어있으면 3D 화면상 브레드보드에 사용자가 연결한 회로가 보이게끔 한다.

4. 콘텐츠 및 서비스 주요기능

1) 조작 방법

사용자가 Oculus 컨트롤러를 이용하여 가상으로 회로도를 구성하면 회로 구성의 동작 여부를 판정하고 이에 따른 회로도를 3D 상으로 시뮬레이션해준다. 프로그램을 실행시키면 정면에 2차원으로 구현한 브레드보드를 중심으로 회로도에 꽂을 컴포넌트를 선택할 수 있는 메뉴바, 선택된 컴포넌트를 확인할 수 있는 영역, 시뮬레이션 결과를 확인할 수 있는 3D 브레드보드가 나타난다. Oculus 컨트롤러를 사용하여 3D 브레드보드에 3D 소자를 직접 꽂는 방식을 고안했으나, 프로그램의 사용자 편의성을 고려하여 2차원의 브레드보드 상에 회로를 구현하도록 한다. 이로써 Oculus 장치 조작 과정에서 겪는 어려움 없이 누구든 쉽게 사용할 수 있도록 한다.

2) 제공 기능



실제 브레드보드는 더 많은 구멍으로 이루어져 있다. 하지만 위 프로젝트의 목적은 정확한 구현이 아닌 단순한 조작만으로도 사용자가 회로도 원리를 파악할 수 있도록 하는 것이다. 따라서 가상 환경에서는 실제 브레드보드를 간략화하여 나타내었다.
사용자는 좌측 상단의 메뉴바에서 회로도 상에 구현하고자 하는 컴포넌트를 선택한 후 2차원 브레드보드 상의 구멍 2개를 선택하면 프로그램은 해당 위치상에 단자를 꽂은 것으로 간주한다. 이때 컴포넌트마다 2차원 브레드보드 상에 나타나는 색상을 달리하여 구분이 용이하도록 하였다. 또한, 구멍을 선택할 때 해당 구멍에 숫자를 기재하여 입력 순서를 판별할 수 있도록 하였고, 이로써 동일한 컴포넌트에 대해 회로도 구조상의 혼동을 겪는 것을 방지하였다. 가상 회로도 상에서 구현할 수 있는 소자는 9가지로 위의 표에서 볼 수 있다. 컴포넌트 중 저항의 경우, 사용자가 저항의 크기도 선택할 수 있도록 부가적인 옵션 버튼이 활성화 되어 프로그램상에서 제공되는 세 가지 종류의 저항 크기 중 원하는 수치를 선택할 수 있다. 이렇게 구현하고자 하는 회로도를 가상의 환경에서 구현한 후 우측에 위치한 시뮬레이션 시작 버튼을 선택하면 해당 회로도에 대해 C# 스크립트 상에서 적합성을 판단한다.

3) 실행 결과 : 성공 사례


회로도가 올바르게 구성된 경우 그림과 같이 하단의 3D 오브젝트로 구현한 브레드보드 상에서 사용자가 지정한 위치에 꽂힌 컴포넌트들을 입체적으로 확인할 수 있다. 전자 회로도에서 사용되는 컴포넌트들에 대한 유료 에셋을 이용하여 메타버스 환경에서 입체적으로 구현하는 데에 있어 사실감과 생동감을 높였다.

4) 실행 결과 : 실패 사례

회로도가 올바르게 구현되지 않았을 경우 그림 하단의 입체 브레드보드에서는 회로도의 결과가 표시되지 않도록 동작을 구현하였으며, 각각의 회로도 부적합 원인에 따라 다른 경고 메시지를 출력해 사용자가 문제의 원인을 파악할 수 있도록 하였다. 부적합한 회로도라고 판단한 경우는 다음과 같다.

  • 회로도의 전원과 연결되는 전선을 제대로 꽂지 않았을 경우
  • 컴포넌트들을 올바른 위치에 꽂지 않았을 경우
  • 브레드보드 상에 흐르는 전류의 크기가 너무 크거나 작을 경우
  • LED 소자를 잘못된 방향으로 꽂았을 경우

이러한 판단 결과를 토대로 사용자는 부적합의 원인을 파악하고, 초기화 버튼을 선택 후 회로도를 재구현을 시도해볼 수 있다. 이로써 쉬운 사용법만으로도 잘못된 구현으로 인한 소자의 결함 없이 회로도를 시뮬레이션할 수 있게 된다.

5. 프로젝트 추진실적 및 목표달성 현황

설계한 내용에 따르면 우선 가상 회로는 메타버스 환경에서 구성한다. 이를 Netlist 형식의 데이터로 변환하여 PSpice에서 전류, 전압을 고려한 회로 연결 상태를 판단한다. 이후 실제와 같은 형태로 시각화할 수 있도록 입체성을 고려한 3D 오브젝트 기반 브레드보드 및 소자를 구현해 시뮬레이션 결과를 다시 메타버스 환경상에서 출력한다.
최종적인 프로젝트 개발 결과, 위에 서술한 내용들을 시스템상으로는 구현해내지는 못하였다. 우선, PSpice와 Oculus 기기 간의 연동이 이루어지지 않아 데이터를 전송조차 할 수 없었다. 따라서 회로도의 적합 여부를 판별하는 시스템을 PSpice가 아닌 Unity 개발환경 내의 C# 스크립트로 계획을 변경하였다. 여기에는 조건문을 활용하여 회로도 부적합 원인을 분석하고 사용자 또한 인지할 수 있도록 구현하였다. Netlist 파일 형식에서 만큼의 복잡한 회로도까지는 아니더라도 학교에서의 교육 및 실습으로 목적으로 간단히 구현하는 회로도에 한해서는 구현 결과를 예측할 수 있도록 개발하였다.

6. 기대효과 및 활용분야

메타버스 기반 가상 전자회로 시뮬레이터로 얻을 수 있는 기대효과는 크게 3가지로 효율적인 교육의 제공, 메타버스를 통한 타인과의 상호작용, 낮아지는 진입장벽이 있다.
첫 번째로는 효율적인 교육을 제공할 수 있는 장점이 있다. 기존의 전자회로 실습 체계에선 직접 전원을 켜지 않는 이상 회로의 부적합 여부를 판별할 수 없다. 그 반면 위 프로젝트는 회로를 명확히 판별 후 부적합 원인을 사용자에게 알림으로써 문제점을 해결할 수 있다. 회로 이상의 종류와 발생 위치를 프로그램 내 UI를 통해 알려주는 시스템을 제공한다. 오류를 한눈에 파악할 수 있어 전자회로의 수정에 큰 도움이 되고 전자회로의 개념과 소자에 대한 이해를 도울 수 있다. 즉 교사가 제공해주는 것과 유사한 피드백을 받을 수 있게 된다. 게다가 전자회로의 이상에서 야기하는 소자의 손상 및 화재, 누전 등의 사고에서도 안전하다. 또한, 시뮬레이터에 강의 시스템을 접목할 수 있다. 메타버스 내 화면으로 강의를 재생할 수 있고 내용에 맞게 가상 전자회로를 자동으로 수정시키거나 회로의 특정 부분을 강조하는 방법 등으로 수강자의 이해를 도울 수 있다.
두 번째로는 메타버스를 통한 타인과의 상호작용이다. 교사-학생들 간의 교육과 협업을 지원하는데 최적화된 가상 환경을 제공할 수 있다. 기존의 전자회로의 소자들을 가상 환경에서는 유동적으로 확대 및 축소할 수 있으므로 다수가 하나의 전자회로를 구축하는 상황에선 오히려 높은 효율성을 보일 수 있다.
마지막으로 실습환경을 갖추는 데 진입장벽이 확연히 낮아진다는 장점이 있다. 기존에는 전자회로 실습을 위해선 라즈베리 파이, 센서 등 각각의 부품 등을 갖추어야만 했는데, 여기에는 적지 않은 비용이 발생한다. 환경 구축에 요구되는 많은 비용은 곧 진입장벽이 높아짐을 의미하고, 이는 교육의 불평등을 야기하게 된다. 이러한 문제점은 메타버스 기반 가상 전자회로 시뮬레이터를 사용한다면 상당 부분 해결할 수 있다. VR 기기, 혹은 스마트폰과 PC만 가지고 있다면 가상 실습환경을 무료로 비교적 쉽게 제공받을 수 있다. 위의 장비를 보유하고 있지 않더라도 여러 시설에서 PC를 대여해 주는 시스템이 있어 모든 학생에게 가상 실습환경을 제공해 줄 수 있다. 또한, 메타버스의 특징상 교육 시설 이외의 장소에서도 가상 실습환경을 사용할 수 있어 공간의 제약이 사라지는 효과가 있다.
COVID-19가 장기화되면서 비대면 산업의 규모가 커지면서 메타버스 또한 이슈가 되고 있다. 급진적인 발전을 이루고 있지만, 아직까지는 AR 및 VR 관련 산업이 엔터테인먼트에 치중된 것이 현실이다. 따라서 보다 독창성 있는 아이디어를 고안하던 중 교육 분야에 주목하게 되었다. 위 프로젝트는 새로운 실습 기반 수업 방식을 제안하는 데에 의의가 있다. 이 같은 방식이 넓은 분야에 적용되어 교육 분야의 하나의 본보기가 될 수 있으리라 본다.

profile
취업 준비 용으로 사용했던 기술 블로그입니다. 이제는 업로드 거의 안 할지도..

0개의 댓글