닫기
배너

[연재(2)-로봇, 인공지능 그리고 SW 플랫폼] 소프트웨어 플랫폼

  • 등록 2018.08.13 11:33:24
URL복사

SW 플랫폼은 로봇, 자동화기기 혹은 IT 기기에 사용되더라도 문제없이 동작될 수 있도록 설계되고 실제로 동작된다. 단지 차이는 관련 분야의 응용 모듈들이 얼마나 제공되느냐에 달려있다. 이번 글에서는 로봇과 Cyber-Physical System(CPS)에 사용할 수 있는 SW 플랫폼에 대한 이야기를 하고자 한다. 요즈음 이슈가 되고 있는 디지털 트윈은 엄밀하게 보면 CPS의 일부분만을 특화시킨 내용이기 때문에 CPS에 대해 설명을 하면서 디지털 트윈을 이야기 하도록 한다. 참고로 이전 글에서 SW 플랫폼은 미들웨어와 개발도구가 통합된 것으로 언급하였지만, 이번 글에서는 SW 플랫폼은 특별한 언급이 없는 한 ‘미들웨어’ 관점만 고려한다.


SW 플랫폼이 같아야 디지털 트윈이 쉬워진다


CPS는 ‘스마트 제조 R&D 중장기 로드맵’[1]에 따르면 다음과 같이 정의된다.


“실제 세계에서 동작하는 모든 요소들이 각종 센서, 정보처리장치, 소프트웨어, 사물인터넷 등에 기반한 컴퓨팅 시스템과 상호 유기적으로 연계되어 최적 제어를 가능하게 하는 기술”


즉, 서비스 차원에서는 CPS가 IoT나 빅데이터 기술과 많은 부분에서 연계되어 있으나, CPS는 엄밀히 말해 시스템 제어기술이며 IoT는 통신기술을 근간한 수많은 IoT 객체를 연동하는 기술로 구분된다.


또한, 사이버-물리 생산 시스템(CPPS, Cyber-Physical Production Systems)은 제조 산업 분야에 CPS 기술이 적용된 것으로, 컴퓨팅 및 정보처리, 통신, 센서·구동·제어 기능이 현실 세계의 기기(즉 생산 기계, 조립 로봇, PLC 등)들과 네트워크로 연계되어 자동화 및 지능화된 CPS 기반 스마트제조 시스템 기술을 의미한다.


공장 현장의 필드버스를 통하여 PLC, 센서, 로봇, 생산 기계 등에서 데이터를 수집하고, 그 위로 ERP, MES, SCM 등의 업무 애플리케이션의 데이터를 수집 또는 전달하는 수직적인 데이터의 통합을 통해 공장 내·외부에서의 데이터를 수집, 전달, 분석한다. 이때 이러한 분석을 좀 더 정확하도록 시뮬레이션을 사용하는데 이러한 시뮬레이션이 실제 시스템과 똑같이 동작해야 한다는 점에서 디지털 트윈이라고 한다. 즉, 사이버 공간의 시스템과 물리 공간의 시스템 동작이 같다는 의미에서 디지털 트윈이라고 한다. 


이를 위해서는 물리 공간에서 사용되는 기기들의 SW 플랫폼과 가상공간에서 사용되는 가상 기기들의 SW 플랫폼이 같아야 디지털 트윈을 만드는데 쉬워진다. 만일 다르다면 어떤 상황이 벌어질 수 있을까 상상해보면 단순할 수 있다. 기본적으로 물리 기기와 가상 기기의 컴퓨팅 능력과 SW 플랫폼이 다르면 디지털 트윈이 똑같을 수가 없다. 왜냐하면 SW 플랫폼이 기기의 동작을 관리하기 때문에, 동작 관리 SW가 다르면 동작이 다를 수밖에 없고 이에 따라 시뮬레이션 동작이 다르게 된다.


이를 피하기 위해서는 물리 기기의 데이터를 수시로 받아서 가상 기기 동작을 하게 되는데 이는 디지털 트윈이라기보다는 디지털 아바타라는 의미가 더 적절할 수 있다. 이런 경우에는 사이버 공간에서 물리 공간에서는 일어나는 일들에 대해 적절하게 대응을 할 수 없다는 문제가 존재한다. 항상 물리 공간에서 일어나는 이벤트들을 수신한 후에 대응하기 때문이다.


SW 플랫폼을 활용하여 구성한 디지털 트윈에 대한 구성 예시가 그림 1에 있다. 이 그림은 실제(물리) 환경과 가상 환경에서 같은 미들웨어(MW)를 사용한 구성도이며, 가상 환경은 클라우드에서 동작하며, 가상 PLC, 가상 센서, 가상 로봇, 가상 구동기들 모두 시뮬레이션 모델로 구현하여 동작한다. 클라우드 환경의 Main Controller는 일종의 ERP 혹은 MES가 될 수 있다.


▲ 그림 1 디지털 트윈의 구성 예


디지털 트윈은 결과적으로 가상 환경과 실제 환경의 동작이 얼마나 유사하게 동작하느냐에 따라 성능의 차이가 있기 때문에, 가상 기기와 실제 기기에서 가능한 같은 SW 플랫폼을 사용하는 것이 중요하다. 이러한 관점에서 보면 향후 SW 플랫폼의 중요성이 점점 커짐을 알 수 있다. 


CPS 구성 요소


그러면 CPS를 구성하는 요소에 대해 살펴보도록 하자. 그림 2에 CPS 관련 구성도가 있고[2], 표 1에 관련 기술에 대한 설명이 있다. CPS 구성 요소는 크게 제어 시스템, 모델링, 센서/구동기, 검증 및 확인, 사이버보안, 확장성 관리(scalability and complexity management), 통신/병행/상호운용성 부분으로 나누어지며, 응용으로는 로봇, 생산시스템, 스마트 빌딩, 스마트 홈, 군사, 의료 등 다양한 시스템으로 확장할 수 있다.


▲ 그림 2 CPS의 기술 구성도 및 응용 영역


▲ 표 1 CPS 기술 분류와 관련 기술 내용


이 내용에서 개발자들과 사용자 들이 간과하는 부분이 확장성 관리 부분이다. 또한 가장 흥미 있게 생각하는 부분이 검증 및 확인 부분의 시뮬레이션과 통신/병행/상호운용성 부분의 (통신) 미들웨어 부분이다. 이 글에서는 SW 플랫폼을 미들웨어라는 입장에서 서술한다고 하였기 때문에 SW 플랫폼이라는 용어로 변경하여 사용한다. 참고로 SW 플랫폼은 미들웨어와 도구(tools)가 통합된 것을 말한다.


그림 2에서 보듯이 시뮬레이션과 SW 플랫폼은 CPS의 작은 부분에 속하는 것을 알 수 있다. 실제로 CPS에서 가장 중요한 것은 개발한 소프트웨어 모듈들의 활용성 측면에 있다. 즉, 가상공간에서 개발하여 최적화된 모든 소프트웨어 모듈들을 실제 공간에서 동작시켜야 하기 때문에 소프트웨어들을 모듈화하는 것과 그들을 조합하여 운영하는 것이 매우 중요하다.


좀 더 구체적으로 모듈에 대해 언급하면, 자동화 시스템, 로봇, 스마트 빌딩·홈 등에서는 모터들이 많이 사용된다. 이러한 모터들에 대한 소프트웨어 모듈을 개발하여 공유하면 다양한 환경에 활용할 수도 있고 관련 시장도 커지는 효과도 가져올 수 있다. 물론 모터의 종류에 따라 응용이 다를 수 있지만, 개발된 모터 관련 소프트웨어들을 다른 환경에 적용할 수 있는 장점도 있다. 


즉, SW 플랫폼은 다음과 같은 기능을 구현하도록 만들어져야 CPS를 쉽게 활용할 수 있고, 좀 더 구체적으로 보면 다양한 형태의 디지털 트윈을 만드는 데 효과적이다.


•‌ 실시간 동작 지원 (실시간 운영체제 및 실시간 통신 지원)

• 모듈화 및 조합(composition)

• 확장 가능성 지원 (임베디드 보드부터 일반 PC 보드까지)

• 모듈의 재사용성 지원

• 보안/안전 지원

• 물리 시스템과의 동기화

• 시뮬레이션과 연동

• 인터페이스 표준


실제로 CPS에서 인터페이스 표준화는 매우 중요하다. 이는 CPS를 구성하는 요소 기술을 한 업체에서 모두 개발하는 것이 힘들기 때문이다. 실제로 많은 연구기관과 업체들은 요소 기술들을 개발하여 상용화한 내용도 많지만, 표준화가 미비하여 이러한 기술들을 통합하지 못하고 있다.


CPS의 SW 플랫폼으로 로봇 SW 플랫폼을 살펴볼 예정인데, 이는 표 1에서 제시된 기술들을 로봇 SW 플랫폼이 가장 많이 포함되고 있기 때문이다. 국내외에서 개발된 로봇 SW 플랫폼을 조사하면 다음과 같다.


현재 미국에서 개발된 ROS[3]가 커뮤니티의 운영이 활성화되어 가장 많이 사용되고 있으며, 일본에서는 open-RTM[4]을 기반으로 여러 업체에서 활용하고 있다. 한국에서도 OPRoS[5]를 개발하였고, 유럽에서는 OROCOS[6]를 개발하였다. 그러나 아직 SW 플랫폼을 사용한 로봇보다는 그렇지 않은 로봇이 많다.


ROS는 통신 미들웨어를 기반으로 만들어졌고, 나머지 3개 플랫폼은 컴포넌트 기반으로 만들어져 조금 더 재활용성에 장점을 가지고 있다. 그러나 컴포넌트 기반 플랫폼은 통신 미들웨어 관점보다는 개발에 있어서 제약점이 좀 있어서 활용에서 확대되지 못하고 있다.


또한, ROS와 그 외 플랫폼의 차이점은 ROS는 사업 자체가 회사를 주체로 개발되어 커뮤니티가 활성화되어 있지만, 나머지 3개 플랫폼은 정부 연구비로 개발되어 확산을 위한 커뮤니티 활용에 있어서 제약을 가지고 있다. 특히 상호 소통이 우선인 커뮤니티에서 개발자 위주의 정보 전달에 치중했다는 점에서 좋은 기술임에도 불구하고 개발 확산이 되지 못하였다. 이러한 로봇용 소프트웨어 플랫폼에 대한 비교가 표 2에 제시되어 있다. 


▲ 표 2 로봇 SW 플랫폼의 비교


SW 플랫폼이 유연성 갖기 위한 조건


로봇 SW 플랫폼과는 다른 SW 플랫폼으로 OPC-UA(Open Platform Communications- Unified Architecture)가 있는데, 이 플랫폼은 데이터를 안전하고 신뢰성 있게 교환하기 위한 것으로 여러 제조업체의 장치 간의 정보가 매끄럽게 소통될 수 있도록 해주며, 유연하고 모듈화된 자동화 솔루션을 더욱 용이하게 구현할 수 있도록 도와준다. 그러나 OPC의 데이터 업데이트 속도가 약 100ms 정도이기 때문에 이를 고려한 응용에 사용할 필요가 있다. 


현재 로봇은 안전을 강화하고 있는 추세이지만 이러한 플랫폼은 안전과 관련된 사항이 미비하다. 물론 자동화 시스템도 안전 관련 사항이 강화되고 있기 때문에 이에 대한 기술을 강화할 필요가 있다.


앞에서 CPS를 위한 SW 플랫폼의 주요 기능으로 인터페이스 표준을 제시하였는데, 이러한 공장 자동화는 매우 큰 시스템이기 때문에 다양한 표준 기구들에서 관련 표준을 개발하고 있다. 실제로 이러한 표준화 기구들에서 나온 표준들을 연동하여야 SW 플랫폼의 유연성을 가질 수 있다. 자동화 시스템과 관련된 표준화 기구와 표준 기구의 기능들에 대해 표 3에서 설명되어 있다. 


▲ 표 3 국제 표준기구와 역할


국내에서도 실제로 OPRoS와 같이 여러 SW 플랫폼이 많이 개발되었지만, 실제로 사용되는 것은 매우 제한적이다. 이 이유를 필자는 다음과 같이 생각한다.


• 국제적 커뮤니티 형성 부족

• 개발자 중심의 시스템 기능 설정

• 국내 시장에만 접근 제한

• 사용 매뉴얼의 체계적 작성 부족


SW 플랫폼을 개발할 때 이러한 문제들을 해결하여야 SW 플랫폼이 활성화될 수 있다. 물론 SW 플랫폼을 잘 만들어야 하겠지만, SW라는 것이 오류가 날 수 있다는 사실을 항상 인지하고, 이러한 오류들을 줄일 수 있도록 적극적으로 활용해주어야 국내에서 개발된 플랫폼이 세계 시장에서 더 좋은 제품으로 진화할 수 있다. 이러한 관점에서 국내의 역할은 매우 약하다고 볼 수 있다. 국내의 SW가 더 성장하기 위해서는 이러한 노력이 같이 수반되어야 SW 발전과 더불어 서비스 발전이 이루어질 수 있다. 


참 고 문 헌

[1] 스마트 제조 R&D 중장기 로드맵-CPS- 2015

[2] CyberPhysicalSystems.org

[3] ROS, www.ros.org

[4] openRTM, www.openrtm.org

[5] OPRoS, www.ropros.org or www.opros.or.kr

[6] OROCOS, www.orocos.org


박홍성 교수, 강원대학교 IT대학 전기전자공학부



















주요파트너/추천기업