소프트웨어 교육이 초중등 정규 교과목으로 편재됨에 따라 코딩 교육용 로봇을 활용한 코딩 교구 시장이 나타나고 있다. 하지만 현재 로봇용 코딩 교구 시장은 로봇의 부정확한 움직임 제어 때문에 코딩교육의 본질을 벗어나 장난감으로서의 기능에만 충실한 경우가 많다. 이 점에 착안하여 본 연구에서는 6개의 라인센서의 관찰 정보를 바탕으로 로봇의 전진 이동, 회전 이동을 보정하는 방안을 제시한다. 본 방안의 효용성을 검증하기 위해 보드 게임과 유사한 코딩 학습용 테스트베드를 구축하고 코딩을 통해 로봇을 제어할 수 있는 모바일 앱을 활용하여 로봇의 실제 움직임 정확도를 측정하였다. 측정결과에 따르면 다양한 명령어를 수행한 결과 거리측면에서는 최대 1.57cm, 각도측면에서는 2.38도의 오차를 보고하고 있다. 이 결과를 바탕으로 본 논문에서 제안한 방식을 활용하면 향후 코딩교구 시장에서의 로봇의 활용도가 더욱 커질 것으로 기대된다.
소프트웨어 교육이 초중등 정규 교과목으로 편재됨에 따라 코딩 교육용 로봇을 활용한 코딩 교구 시장이 나타나고 있다. 하지만 현재 로봇용 코딩 교구 시장은 로봇의 부정확한 움직임 제어 때문에 코딩교육의 본질을 벗어나 장난감으로서의 기능에만 충실한 경우가 많다. 이 점에 착안하여 본 연구에서는 6개의 라인센서의 관찰 정보를 바탕으로 로봇의 전진 이동, 회전 이동을 보정하는 방안을 제시한다. 본 방안의 효용성을 검증하기 위해 보드 게임과 유사한 코딩 학습용 테스트베드를 구축하고 코딩을 통해 로봇을 제어할 수 있는 모바일 앱을 활용하여 로봇의 실제 움직임 정확도를 측정하였다. 측정결과에 따르면 다양한 명령어를 수행한 결과 거리측면에서는 최대 1.57cm, 각도측면에서는 2.38도의 오차를 보고하고 있다. 이 결과를 바탕으로 본 논문에서 제안한 방식을 활용하면 향후 코딩교구 시장에서의 로봇의 활용도가 더욱 커질 것으로 기대된다.
Recently, a variety of methodologies based on the use of educational coding robots have been proposed and experimented in newly emerging korean educational coding markets. Due to imprecise movement accuracy of the existing coding robots, however, such robots are mainly used as a toy. Inspired by the...
Recently, a variety of methodologies based on the use of educational coding robots have been proposed and experimented in newly emerging korean educational coding markets. Due to imprecise movement accuracy of the existing coding robots, however, such robots are mainly used as a toy. Inspired by these observations, we developed a simple adjustment method during robot movements, which is based on the observation results of 6 line-tracking sensors: 3 sensors in the center of a robot and other 3 sensors at the front. These sensors help to determine whether the robot is in the right location and whether it rotates as expected. Through the well-designed experiments, we report the effectiveness of our proposed solution: the average distance error of 1.57cm and the average degree error of 2.38 degree before and after complex movements. In near future, we hope our method to be popularly used in various educational coding robot platforms.
Recently, a variety of methodologies based on the use of educational coding robots have been proposed and experimented in newly emerging korean educational coding markets. Due to imprecise movement accuracy of the existing coding robots, however, such robots are mainly used as a toy. Inspired by these observations, we developed a simple adjustment method during robot movements, which is based on the observation results of 6 line-tracking sensors: 3 sensors in the center of a robot and other 3 sensors at the front. These sensors help to determine whether the robot is in the right location and whether it rotates as expected. Through the well-designed experiments, we report the effectiveness of our proposed solution: the average distance error of 1.57cm and the average degree error of 2.38 degree before and after complex movements. In near future, we hope our method to be popularly used in various educational coding robot platforms.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
모든 움직임에는 오차 허용 범위가 있으며 본 논문에서는 움직임별 오차 허용 범위를 라인의 특징값들로부터 도출하는 식을 제시한다.
로봇은 직진 이동, 90도 회전 이동을 기본으로 하며 저가의 센서와 커스터마이징이 가능한 외관 제작이 가능하도록 구성한다. 모바일앱은 초등학교 저학년이 비교적 쉽게 코딩학습에 접할 수 있도록 LightBot[Fig. 1][11] 형식의 격자 분할 공간 내에서 주어진 명령어 패턴에 따라 로봇을 움직일 수 있는 로봇 기반의 코딩교육용 모바일앱 시스템 개발을 목표로 한다.
본 논문에서 이 점을 착안하여 아이들의 학습동기부여 및 지속성 있는 코딩교육용 콘텐츠 제작을 위해 (1) 안정적인 움직임을 제공하는 아두이노 기반 로봇 제공, (2) 무선통신을 통한 프로그래밍적 로봇 제어용 모바일앱 개발을 목표로 한다. 로봇은 직진 이동, 90도 회전 이동을 기본으로 하며 저가의 센서와 커스터마이징이 가능한 외관 제작이 가능하도록 구성한다.
본 논문에서는 타일 기반 코딩교구에서 활용할 수 있는 격자 공간 내 정확하게 전진 이동, 회전이동하는 로봇의 모터 움직임 현상을 관찰하고 그 관찰 결과를 바탕으로 모터 제어의 정확도를 높이는 전진이동, 회전 이동 방법을 제안하였다.
본 장에서는 코딩 로봇의 움직임 제어 문제에 대한 정확한 이해를 위해 제어가 가능한 실행환경에서 선행 실험을 수행하고, 선행 실험에서 관찰된 다양한 현상을 기반으로 본 논문이 다루는 문제를 다루고자 한다. 도출된 문제를 바탕으로 센서 관찰 정보를 바탕으로 한 전진 이동, 회전 이동시 움직임 오류 탐지 및 자동 보정 방법을 제안한다.
제안 방법
본 실험에서의 사용자 명령은 전진이동, 90도 좌회전, 90도 우회전 이동 등 세 가지의 상이한 로봇 코딩 명령어로 구성되어 있다. 3장에서 제시한 보정 알고리즘의 정확도 여부를 측정하기 위해 8자 모양으로 이동 및 회전을 혼합한 명령어를 수행하고 최종 시작 위치로 돌아왔을 때 회전각도 및 위치 차이의 변이를 측정하여 정확도를 산출하였다.
본 장에서는 코딩 로봇의 움직임 제어 문제에 대한 정확한 이해를 위해 제어가 가능한 실행환경에서 선행 실험을 수행하고, 선행 실험에서 관찰된 다양한 현상을 기반으로 본 논문이 다루는 문제를 다루고자 한다. 도출된 문제를 바탕으로 센서 관찰 정보를 바탕으로 한 전진 이동, 회전 이동시 움직임 오류 탐지 및 자동 보정 방법을 제안한다.
본 논문에서 이 점을 착안하여 아이들의 학습동기부여 및 지속성 있는 코딩교육용 콘텐츠 제작을 위해 (1) 안정적인 움직임을 제공하는 아두이노 기반 로봇 제공, (2) 무선통신을 통한 프로그래밍적 로봇 제어용 모바일앱 개발을 목표로 한다. 로봇은 직진 이동, 90도 회전 이동을 기본으로 하며 저가의 센서와 커스터마이징이 가능한 외관 제작이 가능하도록 구성한다. 모바일앱은 초등학교 저학년이 비교적 쉽게 코딩학습에 접할 수 있도록 LightBot[Fig.
이동시 생기는 현상들의 발생 요인 탐색 및 검증을 위해 다음과 같은 방식으로 실험을 진행하였다. 먼저 로봇에는 엔코더[16] 장치를 부착하여 광학 센서를 활용하여 실시간으로 모터의 회전수를 측정하며, 적외선 라인 추적 센서[17][Fig. 4] (일명 라인센서)를 추가하여 타일 경로를 따라 이동 여부를 확인하도록 하였다.
미끄러짐 현상을 최소화하기 위해 고무매트로 구성된 그리드판을 사용하였으며 보드 상에 흰색테이프로 개별 타일 공간을 구분하였다.
3]에서 보는 바와 같이 A,B,C,D 네가지 주행형태를 가지며 모터의 출력과 주행시간으로 이동거리를 제어한다. 본 논문에서는 A의 방식의 일정 거리를 이동하는 전진이동과 D방식의 지정 위치로부터의 회전 이동을 사용한다.
이중 라인센서는 바닥에 적외선을 발사하여 반사된 명암의 세기에 따른 결과 값이 일정 수치 이상이면 High, 그 이하이면 Low로 인식함으로써 이동 경로상 존재하는 라인 존재 여부를 확인한다. 본 실험에서는 [Fig. 4]에서 도시하는 바와 같이 한 타일에서 다른 타일로 이동하는 전진 이동시 라인 경로가 교차하는 지점을 인식할 수 있도록 로봇의 정중앙에 3개의 라인센서를, 회전 이동시 90도 마다 측정 가능한 라인 유무를 측정하기 위해 추가로 3개의 라인센서를 로봇의 전면부에 부착하였다.
본 실험에서는 총 50회의 전진 이동을 시행하였으며 [Fig. 6]에서는 지정된 타일의 중앙위치를 기점으로 시간이 지남에 따라 개별 라인센서들에서 측정된 비트 상태 정보를 상태로 표현하고 이들간 전이 관계를 기술하고 있다. 이 그림에서는 라인센서 정보가 111 -> 011 -> 001로 변화하고 있으며 이는 로봇이 기준위치에서 왼쪽으로 서서히 벗어나고 있음을 보여준다.
본 연구에서는 다양한 모바일 통신 방법론 중에서 적은 소비 전력, 제한된 실내 공간에서 활용이 용이한 블루투스를 채택하였다. 대표적인 모바일환경(iOS와 안드로이드)에 모두 대응할 수 있도록 블루투스 4.
선행 실험 결과를 바탕으로 구축된 실험환경은[Fig. 12]와 같이 실제 보드환경을 축소한 두 개의 정사각형 타일로 구성된 그리드를 타겟 실험공간으로 설정하였다.
명령어 스케줄러와 로봇은 무선망을 통해 클라이언트/서버 방식으로 동작하며 스케줄러는 클라이언트 역할을 수행한다. 실제 하나의 명령어 수행을 위해 아두이노 기기가 복수개의 센서를 제어하기 때문에 이것을 조율하기 위해 무선 통신부를 통한 클라이언트/서버 모델로 개발되었다.
의도적으로 원래 위치와 최종 이동 위치를 동일한 위치로 설정하였으며 이때 최종 위치의 회전 각도를 별도로 측정하여 원 위치와 비교하였다.[Fig.
이중 라인센서는 바닥에 적외선을 발사하여 반사된 명암의 세기에 따른 결과 값이 일정 수치 이상이면 High, 그 이하이면 Low로 인식함으로써 이동 경로상 존재하는 라인 존재 여부를 확인한다. 본 실험에서는 [Fig.
로봇의 회전 이동은 전진 이동과는 상이하다. 중앙에 위치한 3개의 라인센서로는 회전상태를 평가할 수 없기 때문에 본 실험에서는 추가로 로봇의 전면부에 라인센서를 3개를 부착하여 90도 방향마다 위치한 라인을 탐지하여 원하는 회전을 검증하는 용도로 사용하였다. [Fig.
회전 이동의 보정방법은 전진부에 배치된 3-라인센서의 상태 정보를 바탕으로 하고 있으며 크게두 가지 방식의 보정 방법을 제시한다. 첫 번째는 라인센서 정보가 111 신호를 탐지하였을 때 즉시 정지방식이고 다른 하나는 좌회전 혹은 우회전시정지선 진입 지점 기준으로 일정 사이클 후에 강제 정지방식이다.
대상 데이터
사각타일 모양 격자 보드게임판은 코딩교육이 실시되는 실내 교실 공간을 가정하고 있다. 로봇이 이동할 최소 거리는 20cm, 선의 두께는 1.8cm로 선정하고 있으며 실제 교육 공간 내 네 개의 책상을 붙여 연결한 크기에 해당하는 140cm x 140cm(7 x 7 격자 공간 [Fig. 2])이다. 정사각형 타일 위에는 로봇과 각종 타일을 배치할 수 있어 학생들의 몰입감을 높여준다.
본 실험에서의 사용자 명령은 전진이동, 90도 좌회전, 90도 우회전 이동 등 세 가지의 상이한 로봇 코딩 명령어로 구성되어 있다. 3장에서 제시한 보정 알고리즘의 정확도 여부를 측정하기 위해 8자 모양으로 이동 및 회전을 혼합한 명령어를 수행하고 최종 시작 위치로 돌아왔을 때 회전각도 및 위치 차이의 변이를 측정하여 정확도를 산출하였다.
이 장에서는 본 논문이 목표로 하는 시스템에 대해 기술한다. 시스템은 아두이노 기반 하드웨어 로봇, 로봇 구동용 소프트웨어, 그리고 격자 형태 보드게임용 고무판으로 구성되어 있으며 학습자의 게임 플레이 환경 및 플레이 방식은 다음과 같다.
이론/모형
본 논문에서 다루는 모터 제어는 Pulse Width Modulation(PWM)[14]을 통해 아두이노 기본 전압인 5V를 듀티 사이클(duty cycle)을 이용하여 정수 출력 값(0~255)으로 선형 사상하여 개별 모터의 움직임을 제어는 방식을 사용한다.
성능/효과
본 저자는 센서 잡음에 의해 유령상태(Phantom State)인 010이 나타나는 것으로 해석하고 있으며 해당 상태가 나타난 모든 경우에 대한 분석을 통해 010 상태는 그 이전상태와 동일한 상태로 판정해도 전혀 무방함을 확인하였다. 기존 관찰 기반 모델에서는 이와 같은 유령상태에 대한 보고가 없으며 본 연구에서는 유령상태에 대응하여 그 이전 상태로 변이하여도 전체 평가 결과에 영향을 미치지 않음을 확인할 수 있었다.
따라서 전면부 3 라인센서의 정보가 111 혹은 110 -> 011 혹은 011 -> 110으로 변경하는 시점을 탐지할 수 있으며 그 결과 변경지점을 90의 배수 형태의 회전으로 평가할 수 있다고 결론지을 수 있었다.
제안한 방식을 도출하기 위해 현실 공간에서 운용할 수 있는 실험 환경을 구축하였으며 모바일앱을 개발하여 블루투스를 통해 실제 명령어를 수행시켜 로봇이 원하는 목표로 정확히 이동할 수 있음을 검증하였다. 또한 총 6개의 라인센서(회전탐지를 위한 전면부 3개, 타일 중앙부 탐지를 위한 중앙부 3개) 사용 모델을 제안하고 활용함으로써 고가의 모터나 IMU센서 장치 없이 저가격대의 안정성 높은 로봇 모터 제어 방식의 활용가능성을 확인하였다.
본 저자는 센서 잡음에 의해 유령상태(Phantom State)인 010이 나타나는 것으로 해석하고 있으며 해당 상태가 나타난 모든 경우에 대한 분석을 통해 010 상태는 그 이전상태와 동일한 상태로 판정해도 전혀 무방함을 확인하였다. 기존 관찰 기반 모델에서는 이와 같은 유령상태에 대한 보고가 없으며 본 연구에서는 유령상태에 대응하여 그 이전 상태로 변이하여도 전체 평가 결과에 영향을 미치지 않음을 확인할 수 있었다.
선행실험을 수행한 결과, 개별 DC 모터에 동일출력 값을 주어 일정 주기마다 반복적으로 수행하는 전진 이동의 경우만 해도 미끄러지는 현상이 관찰되었다. 이 현상은 하드웨어의 각 바퀴의 평행 여부, 진행방향과 모터 방향의 일치 여부, 바닥의 기울기 여부, 바닥과 각 모터바퀴의 마찰계수 로봇의 무게에 의한 관성, 로봇의 무게중심 ,회전축 마지막으로 DC모터를 아두이노가 제어할 때 생기는 전압의 노이즈 등 다양한 원인에 기인한다.
13,14]는 총 10회 8자형 움직임후의 로봇의 위치 분포를 도시하고 있다. 요약하면, 10회 반복 시 회전 각도 차이의 절대값 평균은 2.38도이며 거리 차이의 절대값 평균은 1.57cm이었다. 이 결과는 오차 허용 범위의 34%(거리), 32%(각도)에 해당할 정도로 본 논문에서 제안한 방식이 매우 훌륭하게 작동하고 있음을 보여주고 있다.
57cm이었다. 이 결과는 오차 허용 범위의 34%(거리), 32%(각도)에 해당할 정도로 본 논문에서 제안한 방식이 매우 훌륭하게 작동하고 있음을 보여주고 있다.
이 상태는 실제 011에 110으로(혹은 그 반대 경우) 변경되는 실험에서 관찰되었으며 로그 분석 결과, 011->111->110으로 변경되는 상황이 지속적으로 발생하였음을 확인하였다.
제안한 방식을 도출하기 위해 현실 공간에서 운용할 수 있는 실험 환경을 구축하였으며 모바일앱을 개발하여 블루투스를 통해 실제 명령어를 수행시켜 로봇이 원하는 목표로 정확히 이동할 수 있음을 검증하였다. 또한 총 6개의 라인센서(회전탐지를 위한 전면부 3개, 타일 중앙부 탐지를 위한 중앙부 3개) 사용 모델을 제안하고 활용함으로써 고가의 모터나 IMU센서 장치 없이 저가격대의 안정성 높은 로봇 모터 제어 방식의 활용가능성을 확인하였다.
후속연구
하지만 테스트 중에 배터리 용량문제로 실제 사용 시간이 1시간에 그치고 있으며 과도한 센서 샘플링에 따른 배터리 소비문제 등 다양한 문제가 산적해 있다. 또한 현재 사용 중인 총 6개의 라인센서의 개수를 최소화시키는 문제는 향후 본 연구진에서 지속적으로 해결해야 할 것이다.
위에 제기된 문제가 해결하게 된다면 저가격으로 높은 정밀도를 갖춘 코딩용 로봇을 상용화할 수 있으며 향후 코딩용 교구 시장에서 다양한 코딩 교육용 콘텐츠 개발에 일익을 담당할 것으로 기대한다.
질의응답
핵심어
질문
논문에서 추출한 답변
지식기반의 현대 사회에서 필요한 사고력은 무엇인가?
2017년 초중등 교육과정에서 소프트웨어 교육이 정규 교과목으로 편재됨에 따라 다양한 코딩방법론이 대두되고 있다[1]. 지식기반의 현대 사회에서는 고차원적인 컴퓨터적 사고력 배양이 필요하다. 이를 위해 초등학교 저학년부터 코딩에 대한 흥미를 갖고 학습활동을 할 수 있도록 쉽게 접근 가능한 코딩교구 개발에 중점을 두고 있으며 널리 사용되는 코딩학습 방법으로 로봇을 활용한 코딩 교육이 있다[2,3,4,5].
코딩방법론이 대두된 배경은 무엇인가?
2017년 초중등 교육과정에서 소프트웨어 교육이 정규 교과목으로 편재됨에 따라 다양한 코딩방법론이 대두되고 있다[1]. 지식기반의 현대 사회에서는 고차원적인 컴퓨터적 사고력 배양이 필요하다.
IoT(Internet of Things)기기들과 연동된 코딩교구는 어떻게 분류 되는가?
현재 널리 사용되는 코딩교구들은 다양한 IoT(Internet of Things)기기들과 연동되어 코딩교육에 활용되고 있다[6,7]. 이것들을 분류해 보면,학생들이 직접 센서를 회로에 연결하고 센서를 구동해보도록 테스트하는 기판형 기기 제어 방식과 외형을 갖춘 로봇에게 필요한 명령을 프로그래밍하여 제어하는 로봇 구동형 제어 방식(예를 들어,Bee[8], 알버트 로봇[9])으로 나눌 수 있다. 비트브릭[10]으로 대변되는 기판형 기기 제어 방식에서는 다양한 센서들을 직접 제어할 수 있다는 점에서 흥미를 유발할 수 있으나 하드웨어적인 센서 제어에 국한되어 있으며 사건 기반 프로그래밍과 같이 고급 코딩 기법을 저연령대 학생에게 학습시키는 것이 부담스럽다.
참고문헌 (17)
Korean Ministry of Education, Software Education Guidance, 2015.
SungSu Jin. PhanWoo Park, The Effects of Programming Learning on the Improvement of Problem Solving Ability Using MCU, Journal of The Korea Association of Information Education, Vol 14, No. 3, pp. 319-328, 2010.
Pamela B Lawhead et al, A Road Map for Teaching Introductory Programming Using LEGO Mindstorms Robots, ACM SIGCSE Bulletin, Vol. 35, No. 2, pp. 191-201, 2002.
Jeong-Hyun Seo, Young-Sik Kim, Study on educational utilization of physical computing using Arduino, In Proceedings of the Korean Association of Computer Education, Vol. 16, No. 2, pp. 103-107, 2012.
Seok-Jeon Kim, Young-Ju Jeon, Tae-Young Kim, A Practical Approach to Arduino Programming for The Physical Computing Section of The Informatics Curriculum in Korean Middle School, In Proceedings of the Korean Association of Computer Education, Vol. 20, No. 2, pp. 29-34, 2016.
A Harvard Business Review Analytic Services Report, Internet of Things: Science Fiction or Business Fact? Harvard Business Review, 2014.
Ki-hyuk Kim, Gwi-Im Ahn, Hwan-Seob Lim, Deok-Gil Jung, Research about senior citizen IT start-up education linking the IoT, Journal of Korea Institute of Information and Communication Engineering, Vol. 19, No. 11, pp. 2710-2716, 2015.
Katharina Hausmair, Shuli Chi, Peter Singerl, Christian Vogel, Aliasing-Free Digital Pulse-Width Modulation for Burst-Mode RF Transmitters. IEEE Transactions on Circuits and Systems, Vol. 60, No. 2, pp. 415-427, 2013.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.