Ⅰ. 서론
최근 제조공장 스마트화에 따라 생산공정에서 사용되는 자동화 설비 및 로봇, IoT 장비 등이 비약적인 발전을 이루고 있다. 이를 통해 작업자의 안전 및 생산성 향상 관리 인력의 부하를 줄일 수 있는 등 여러가지 효용성이 나타나고 있다.
한편, IT 기술인 음성인식 기술을 활용한 서비스들이 스마트홈, 스마트폰 및 상업적인 서비스에도 널리 활용되고 있다. 스마트 홈에서는 음성인식 기술을 통해 가정의 IoT 전자기기들을 제어할 수 있고, 반려로봇을 활용해 새로운 부가가치 서비스를 만들어내기도 하였다[1,2].
그러나 음성인식 기술을 사용하는데에 있어 공장에서는 이를 효율적으로 사용하기가 어렵다.
첫 번째로 공장 내의 소음이다. 공장 내부에서 소음으로부터 자유로운 공간은 없으며, 이는 음성인식률의 저하를 가져올 수 밖에 없다. 따라서, 임베디드화된 시스템에 적용하기에 무리가 있다.
두 번째로 기존 공장 내의 설비 및 로봇은 일반적인 네트워크 프로토콜을 사용하지 않는다는 점이다. 공장 내의 네트워크 중 IPC까지는 일반적인 HTTP 프로토콜을 활용하여 컨트롤할 수 있지만 PLC 이하의 설비와 로봇을 직접적으로 컨트롤해야 하는 부분에서는 씨리얼 통신이 일반적으로 사용되고 있다.
세 번째로 공장 근무자의 보호장구로 인한 스마트기기 활용에 제한이 있다는 점이다. 장갑 등을 착용하고 있을 때 스마트 기기 활용이 불편함으로 이를 음성으로 대처하는 방법도 효율적인 방법이 될 수 있을 것이다
또한, 스마트공장화에 따라 설비 및 로봇은 증가하지만 그에 따른 관리인원은 크게 증가하지 않음으로 한 명의 관리자가 보다 넓은 지역을 관리해야할 필요성이 증가하고 있다.
따라서, 본 연구에서는 음성인식을 통해 산업용 로봇을 제어하는 방법을 고찰하고자 한다.
Ⅱ. 관련연구
1. 산업용 로봇
산업용 로봇은 제조현장에서 인간을 대신하여 힘들거나 위험한 일을 대체하는 로봇으로 제조현장에서의 정형화되어 있는 단순, 고정밀, 고속, 고반복적인 작업을 수행한다. 현대의 산업용 로봇은 소프트웨어 기반의 프로그래밍이 가능하며, 3개 이상의 방향으로 독립적인 모션이 가능해야 한다.
산업용 로봇은 구조적으로 몸통(Body), 팔(Arm), 손목(Wrist), 그리고 손(End Effector)으로 구분되며, 다음 그림 1과 같은 구조를 갖는다[3].
그림 1. 산업용 로봇 기본 구조
Fig. 1. Basic structure of industrial robot
그림 1.에서 보는 바와 같이 기본 구조인 몸통, 팔, 손목, 손뿐만 아니라 로봇을 제어하는 제어기와 전력을 공급하는 전원부로 구성되어진다[4].
산업용 로봇은 일반적으로 다음 표 1과 같이 구분되어 정리될 수 있다.
표 1. 산업용 로봇 구분[5]
Table 1. Classification of industrial robots
2. 음성인식
음성인식은 자동적인 수단에 의해서 음성으로부터 언어적 의미와 내용을 식별하는 것으로써, 구체적으로는 음성파형을 입력하여 단어나 단어열을 식별하고 그 의미를 추출하는 처리과정을 의미한다. 음성분석, 음소인식, 단어인식, 문장해석, 의미추출 5가지 과정으로 나뉘어진다.
음성인식의 궁극적인 목적은 인간의 자연스러운 발성에 의한 음성을 인식하여 실행명령어로써 받아들이거나 자료로서 문서에 입력하는 완전한 음성/텍스트 변환의 구현이다.
음성인식 기술의 원리는 다음 그림 2.와 같다
그림 2. 음성인식 기술의 원리
Fig. 2. Principles of speech recognition technology
그림2.에서 보는 바와 같이 음성신호를 입력받은 아날로그 음성데이터를 디지털로 변환 및 노이즈 제거등의 전처리를 거친 후 HMM(Hidden Markov Model)등의 특징 추출을 거친 후 정확도를 높이기 위한 음성 모델 학습 DB 등을 통해 화자의 의도를 파악하는 거리계산을 하여 최종 인식결과를 반환하게 된다[6,7].
음성인식은 크게 4가지 유형으로 다양하게 사용된다.
첫 번째로 다양한 기능의 기기를 조작 시에 사용된다. 두 번째로 다른 업무처리 중에 정보 입력이 원활하지 못한 경우에 유용하다. 세 번째로 개인별 서비스 제공을 위한 경우에 사용이 가능하다. 화자의 음성을 통해 인적정보, 건강상태, 언어능력 등을 파악이 가능하므로 교육, 보안, 의료분야 등에서 사용이 가능하다. 네 번째로 실시간 정보처리에 유용하다. 입력 속도가 타이핑 등의 다른 인터페이스에 비해 빠르기 때문에 긴급 상황에 신속한 정보 입력이 가능하다[8].
3. 필드버스(Fieldbus)
필드버스는 실시간 분산 제어를 위해 사용되는 산업용 컴퓨터 네트워크 프로토콜 집합의 통칭으로써, 현장을 의미하는 필드(Fileld)와 통신을 의미하는 버스(Bus)의 합성어이다.
복잡한 산업용 자동화 시스템은 일반적으로 계층구조의 조직화된 컨트롤 시스템을 필요로 하게 되는 이런 계층구조에서는 HMI(Human Machine Interface)가 최상위에 있게 되는데, 운영자는 해당 HMI를 통해서 전체 시스템을 모니터링하고 운영 및 조작하게 된다. 일반적으로 이더넷과 같은 비실시간 통신시스템을 통해서 PLC(Programmable Logic Controller)와 같은 중간계층에 연결된다. 제어시스템 하단부에서의 필드버스는 센서나 액츄에이터 등의 컴포넌트는 상위의 PLC와 통신할 수 있는 구조이다[9].
간략히 설명하면 필드버스는 산업용 자동화 시스템의 최하위에 있는 센서, 액츄에이터, 각종 로봇 및 모터 등을 제어하기 위한 네트워크 방식으로 DeviceNet, Profibus, Modbus, CC-Link, EtherNet/IP, CANopen 등 다양한 필드버스가 있다[10].
Ⅲ. 시스템 설계
본 논문에서 제안하는 솔루션은 현시대의 기술적 요구에 맞추어 제조 현장의 로봇 컨트롤 및 문제해결을 작업자가 위치한 장소 및 공간의 제약 없이, 이동 중에도 효율적으로 로봇 자동화 설비의 모니터링 및 문제 해결을 할 수 있는 연구를 하고자 함에 있다.
간략한 시스템 아키텍처는 다음 그림 3.과 같다.
그림 3. 산업용 다관절 로봇 음성제어 솔루션의 아키텍처
Fig. 3. Industrial Articulated Robot Voice Control Solution Architecture
그림 3에서 보는 바와 같이 사용자는 스마트폰을 통해 음성인식을 한 후, 공장 내 와이파이 네트워크를 통해 IPC에 명령을 전송한다. IPC는 사용자의 명령을 필드버스 프로토콜로 변환하여 시리얼 포트를 통해 로봇에게 이를 전달한다. 로봇은 전송된 명령을 수행한다.
세부적인 모듈은 다음 그림 4.와 같이 구성되어 진다.
그림 4. 상세 아키텍처
Fig. 4. Detailed Architecture
그림 4에서 보는 바와 같이 총 8개의 모듈로 구성되어진다. 음성인식 모듈은 음성인식을 담당하고 Mobile->PC송신 모듈은 음성인식된 데이터를 IPC로 송신한다. Mobile->PC 수신 모듈은 수신된 Moblile 음성 정보를 분석하는 기능을 담당한다. 프로토콜 변환 모듈은 분석된 음성데이터를 필드버스 프로토콜로 변환하는 기능을 담당한다. 필드버스 송수신 모듈은 변환된 프로토콜을 로봇의 컨트롤러에게 전송하고 로봇으로부터 피드백을 받는 역할을 담당한다. 로그 모니터링 모듈은 수신된 모바일 데이터, 프로토콜 변환 과정, 필드버스로부터의 입출력 데이터를 기록하고 사용자에게 보여주는 기능을 담당한다. 컨트롤러 수신 모듈은 로봇의 제어부로서 전송받은 프로토콜에 따라 로봇을 움직이는 기능을 담당한다. 로봇 구동 및 제어모듈은 실제적으로 로봇이 동작한다
Ⅳ. 구현 및 실험 결과
음성인식을 Text로 변환하고 IPC 파트로 전송하는 Mobile Device는 안드로이드 7.1.1 기반의 S 사 기종을 사용하였고, IPC는 일반 PC에 CIFX 50-DN 모델의 PCI 타입 DeviceNet 카드를 장착하였다. 로봇은 K사의 소형 로봇인 KR10 R1100 로봇시스템을 사용하였다.
로봇제어에 사용한 명령은 총 6가지로 다음 표 2.와 같다.
표 2. 실험 명령 일람
Table 2. Classification of industrial robots
실험에 사용된 로봇은 약 250여가지 명령을 프로그래밍화 하여 사용할 수 있지만, 실험을 위해서는 6가지의 명령어로 축소시켜 이에 맞추어 프로토콜과 명령어를 구현하였다. 실제로봇은 IPC가 보내는 8bit의 명령을 해석하여 정해진 프로그램에 따라 움직인다.
START 명령은 일시정지 된 로봇을 실행시키는 기능을 하며, STOP 명령은 어떠한 명령을 수행하고 있어도 즉시 기계를 멈추는 기능을 하며, HOME 명령은 원점으로 복귀시키는 기능을 한다. X 명령은 로봇이 바라보고 있는 방향으로 100mm를 이동시키며, Y 명령은 횡방향 (왼쪽)으로 100mm 이동시킨다. Z 명령은 수직방향으로 100mm 이동시킨다. X, Y, Z 명령은 로봇팔의 헤더의 위치값으로 로봇의 각축의 움직임 등은 임베디드된 로봇의 OS에서 해결해준다.
다음 그림 5.는 테스트베드 구축의 모습이다.
그림 5. 테스트베드
Fig. 5. Test bed
그림 5.에서 보는 바와 같이 로봇과 IPC 모니터, 스마트패드를 볼 수 있다. 사용자는 스마트폰을 통해 음성으로 명령을 전송하면 다음 그림 6.과 같이 로봇이 움직이는 것을 확인할 수 있었다.
그림 6. X 축이동
Fig. 6. X Axis Moving
그림 6.에서 보는 바와 같이 ‘X’ 명령을 2회 전송하게 되면 로봇팔 부분이 100mm 씩 2회 전진이동 후 대기하게 된다
그림 7.에서 보는 바와 ‘Z’ 명령을 3회 전송하게 되면 로봇이 100mm 씩 수직으로 3회 이동 후 대기하게 된다
그림 7. Z 축이동
Fig. 7. Z Axis Moving
산업용 로봇의 특성상 명령이 로봇에 전달된 이후에 즉시 움직이지는 않으며, STOP 명령을 제외하고는 명령을 빠르게 입력하더라도 전달받은 명령을 순서대로 움직이는 것을 확인할 수 있었다. 안전관련 법 등과 관련하여 로봇이 설계되었기 때문이다.
Ⅳ. 결론
본 논문에서는 실제로봇이 설치되어 있지 않은 장소에서도 휴대하고 있는 스마트폰 등의 모바일 디바이스를 통해 현장에 설치된 로봇에 문제가 발생 시 음성으로 로봇을 제어할 수 있는 방안을 제안하였다.
이러한 접근 방법은 4차 산업혁명 시대에 기술 융합을 통해 새로운 기술 발전을 위한 접근 방안이 될 것으로 기대된다. 또한 제조현장에 설치된 로봇의 고전적인 제어 방식이 가지고 있는 단점들이 보완되고 제조 경쟁력 향상이 예상된다.
또한, 본 논문에서는 테스트 및 솔루션의 제안으로 단순 명령어를 사용하여 음성제어를 구현하였으나, 실제 다양한 제조현장에서 다양한 로봇활용성을 감안하여 다양한 명령 추가 및 모니터링 기능의 추가가 필요하다.
향후 연구에서는 좀 더 유연한 명령을 내릴 수 있는 방법을 모색하고, 로봇의 상태를 휴대기기를 통해 볼 수 있는 역네트워크 모델의 추가를 통해 기능을 좀 더 보완하고자 한다.
※ 본 연구는 과학기술정보통신부 및 정보통신기획평가원의 대학ICT연구센터지원사업의 연구결과로 수행되었음 (IITP-2020-2018-0-01426)
References
- Sung-Jai Choi,"Design and Implementation of Protype Anti-disaster Remote Control Robot Model using Smart Phone", The Journal of The Institute of Internet, Broadcasting and Communication, Vol. 14, No. 6, pp. 221-227, 2014. https://doi.org/10.7236/jiibc.2014.14.6.221
- Byung-Ho Cho,"Analysis and Design of Social-Robot System based on IoT", The Journal of The Institute of Internet, Broadcasting and Communication, Vol. 19, No. 1, pp. 179-185, 2019. https://doi.org/10.7236/JIIBC.2019.19.1.179
- Kyung-Rae Cho, Jung-Ho Shin, Jung-su Lee, Ja-Hee Cho and Young-Ju Kim, "Introduction to Robotics," Seoul Metropolitan Office of Education, 2006.
- James G. Keramas, "Robot Technology Fundamentals", Delmar Cengage Learning, 1998.
- Niku, Saeed B. Introduction to robotics: analysis, control, applications. John Wiley & Sons, 2020.
- Seung-Joo Choi and Jong-Bae Kim, "Comparison Analysis of Speech Recognition Open API's Accuracy," Asis-pacific Journal of Multimedia Services Convergent with Art, Humanities, and Sociology, Vol. 7, No. 8, pp. 411-418. 2017. DOI :http://dx.doi.org/10.14257/ajmahs.2017.08.76
- Hyun-Sin Park, Seong-Woong Kim, Min-Ho Jin and Chang-Dong Yoo "The latest machine learning-based voice recognition technology trends," The Magazine of IEIE, pp. 18-27. 2014. DOI: https://doi.org/10.1007/s41324-016-0059-1
- Ja-Soon Jang, "Design and Application of Speech Recognition System on Smart Phone," Hansung Univ. Master Thesis, 2012.
- Longgang Xiang, Juntao Huang, Xiaotian Shao and Dehao Wang, "A MongoDB-Based Management of Planar Spatial Data with a Flattened R-Tree," Journal of International Geo-Information, Vol. 5, No . 7, pp. 119, Nov 2016. DOI: 10.3390/ijgi5070119
- Dong-Jin Shin, Seong-Yeon Hwang, Jae-Gon Oh, Jeong-Joon Kim, Yong-Soo Lee and Kyoung Won Park, "Characteritic Analysis of Industrial Network and Security Equipment," Journal of The Insititue of Internet, Brodcasting and Communication, Vol. 20, No. 3, pp. 153-161, 2020. DOI: https://doi.org/10.7236/JIIBC.2020.20.3.153