산업뉴스
[전문가 기고] ① ISO/TC 299(로봇) WG6 관련 기고문
윤소원 기자 | 2023-06-20 15:21:54

현재 대부분의 산학연 기관에서는 모듈화 개념을 사용하고 있지만, 모듈의 상호운용성 및 상호 교환성에 대해서는 고려하지 않고 있으며, 모듈에 대한 설명과 모듈들을 구분할 수 있는 어떠한 방법도 제공하지 않고 있다. 이러한 문제로 인해 로봇용 모듈들은 사용성, 제품화 및 유지보수에 문제를 안고 있다. 물론 이러한 문제는 현재 학계 및 연구계에서 많이 사용하고 있고 국내의 산업계에서도 많이 활용하고 있는 미들웨어의 하나인 ROS에서도 발생한다. 


이와 같은 문제를 해결하고자 ISO TC299 WG6에서는 모듈화 표준을 만들고 있으며, 이 표준은 로봇용 모듈의 상호운용성 및 상호교환성과 모듈들의 제품화를 지향하고 있다. 

현재 WG6에서는 국제 표준으로 ISO 22166-1 서비스 로봇 모듈화-제 1부 일반요구사항이 표준화됐고, 이를 기반으로 DIS 22166-201 서비스 로봇 모듈화-제 201부 공통정보모델이 FDIS를 준비 중에 있으며, CD 22166-202 서비스 로봇 모듈화-제 202부 소프트웨어 모듈용 정보모델이 DIS를 준비 중에 있다.


제 1부 일반요구사항은 국내의 전문가들이 많은 기여를 했고, 제 201부 및 제 202부는 국내 전문가가 프로젝트 리더가 돼 이끌고 있다. 제 201부는 2023년 혹은 2024년 초에 IS가 가능할 것으로 예상되며, 제 202부는 2024년에 FDIS까지 완료될 것으로 예상된다.
이렇게 되면 소프트웨어 모듈 관점에서 상호운용성 및 상호교환성을 제공하는 표준이 처음 만들어지는 것이고, 이에 대한 효과는 산업용 로봇을 포함해 자동화 시스템에 많은 긍정적 영향을 줄 것으로 예상된다.
 

모듈 기반 로봇 동작 저작 및 수행 / 사진.한국로봇산업협회

 

현재 국가 표준으로 제정돼 있는 일본의 RTC, 한국의 OPRoS component와 국제 사실상 표준으로 간주하고 있는 ROS들간 연동도 표준으로 지원할 예정이다. 현재 제 202부에서는 정보모델을 기반으로 ROS와 openRTM에 대한 연동 방식을 제공한다.


여기서 정보모델이라고 하는 것은 모듈이 로봇에 사용될 때 필요한 정보들을 저장하는 방식을 모델링한 것으로, 이러한 정보들에는 모듈의 설명, 제조자, 식별자, 모듈에서 사용하는 변수, 모듈에서 제공하는 서비스, 시뮬레이션 모델, 사용하는 통신 인터페이스, 미들웨어 및 데이터베이스, 모듈의 실행 방법 등이 있다. 물론 하드웨어적으로도 모듈의 크기, 모듈의 마운트 방법 등의 정보를 제공할 수 있다. 이러한 정보들은 모듈 기반으로 로봇 혹은 모듈의 조합을 만들 때 유용하다. 먼저 소프트웨어 관점에서 설명한다. 


현재는 로봇을 개발할 때 대부분이 소스코드를 활용해 개발하거나 상용 라이브러리를 구입해 그 라이브러리를 활용하는 소스코드를 개발하고 있다. 즉, 현재는 모듈들로 개발하고 있지만, 개발된 소프트웨어 모듈들을 모두 컴파일 및 링크를 통해야만 실행할 수 있다. 이는 독립적인 모듈들이 서로 의존적인 형태로 개발돼 활용성에 있어서 제약을 가지고 있다는 의미다. 


이러한 독립적 모듈들을 실행 파일 형태로 제공하면, 별도의 컴파일 및 링크 과정이 없이 수행할 수 있으므로 매우 이득이 크고, 문제가 생기면 해당 파일에서 수정만 하면 된다. 즉 활용성에 있어서 많은 장점이 존재한다. 그러나 이 경우에는 필요한 정보가 제공되지 않으면 활용성에 있어서 역시 제약이 있으므로, 이 제약을 없애기 위한 방법으로 정보모델을 통해 관련 정보를 제공하고 있다. 이러한 정보는 실제로 매뉴얼로 제공되기는 하지만, 모듈의 실행 파일에 포함돼 제공되므로 해당 정보는 모듈을 폐기할 때 까지 계속 사용할 수 있다. 이러한 내용이 기존 방식과 차이가 있다.

 

정보모델을 활용해 모듈들을 그림 1과 같이 로봇에 배치하면 로봇의 소프트웨어 구성이 완료되므로 매우 편리하다. 즉, 모듈들을 로봇에 배치해 다운로드하고 수행시키면 로봇이 동작한다. 물론 모듈들을 다운로드하기 전에 로봇의 시뮬레이터에 다운로드해 수행시킬 수 있다. 


그림 1에서는 육각형은 로봇 혹은 에지 서버 관련 하드웨어 관점의 모듈을 표시하고, 노란색 원은 로봇 소프트웨어 모듈이며, 녹색 원은 에지 서버에서 동작하는 소프트웨어 모듈로, 모두 정보모델을 제공하고 있다. 소프트웨어 모듈이 장착된 로봇 혹은 에지 서버는 조합 모듈로, 같은 하드웨어이더라도 사용되는 소프트웨어 모듈의 종류에 따라 모듈 식별자가 달리 설정될 수 있다. 로봇에 들어가는 소프트웨어 모듈은 왼쪽의 메뉴에서 선택해 관련 로봇 혹은 에지 서버에 드래그 앤 드랍 방식으로 넣으면 배치된다. 


모듈 기반이 되면 기존의 소프트웨어 개발 방식보다 훨씬 진보된 방식을 사용할 수 있으며, 전문가가 아니더라도 로봇 소프트웨어를 개발할 수 있는 장점이 있다. 전문가들은 로봇 관련 모듈들을 만들어 판매하고, 로봇 운영자 혹은 제작자들은 모듈이나 그림 1과 같은 도구를 활용해 제작하면, 개발 방식의 패러다임을 변경해 다양한 사람들이 다양한 종류의 로봇을 개발할 수 있게 함으로 인력 문제도 해결할 수 있게 한다. 

 

그림 1에서 모듈을 배치하면, 모듈들의 작동 여부를 검증하고, 이를 위해 정보모델이 필요하다. 정보모델에서 제공하는 정보들을 활용해 모듈들이 필요한 내용(토픽, 서비스 등)들이 모두 있는지 혹은 문제가 있는지 알 수 있다. 문제가 없다면 다운로드해 수행시킨다. 

 

수행 중에 해당 모듈의 업데이트가 필요하면, 모듈 식별자를 활용해 로봇들에 해당 모듈이 있는지 확인해 업데이트를 진행할 수 있다. 이 경우 모든 로봇 프로그램을 업데이트하는 것이 아니고 해당 모듈만 원격에서 업데이트할 수 있다. 

 

모듈의 종류로는 크게 기본 모듈, 조합 모듈로 나누어지면, 조합 모듈의 예에는 모바일 모듈, 머니퓰레이터 모듈, 내비게이션 모듈 등이 있다. 참고로 로봇 역시 조합 모듈이다. 조합 모듈 역시 모듈 식별자를 가지고 있으며. 모듈 식별자에는 버전도 포함돼있어, 로봇에 포함된 식별자를 보면 업데이트 버전을 사용 여부도 알 수 있다. 이러한 내용은 현재 스마트폰의 버전 관리와도 비슷하다. 
 

필자

강원대학교 박홍성 교수

저작권자 @ 여기에 무단전재 - 재배포 금지