요약 : 클라우드 서버를 이용해서 로봇의 computing / storage resources 이상의 성능을 발휘할 수 있다.

 

1. INTRODUCTION

개발 현황

  • Davinci project
    • robot algorithm is implemented in the Map/Reduce
    • ROS is chosen as the messaging frame.
  • RoboEarth
    • search engine in the field of robots.
    • Rapyuta is an open source cloud frame based on the RoboEarth.
    • Linux containers for service security.
    • ROS nodes are running in the computing environment.
  • micROS-cloud
  • Vision API of Google Cloud Platform
  • NOOS

However, those cloud services are from different providers and their access interfaces are quite different, which causes significant difficulty for task integration.

 

 

CloudROS

  • The cloud provides computing and storing services in form of ROS nodes.
  • The cloud also converts the third-party web services to ROS compatible cloud services.
  • The cloud exposes its REST API to users and robots.

 

2. CLOUDROS FRAMEWORK

A. ROS

 

B. REST API

  • non-ROS interfaces are required to assist the dynamic ROS network establishing task.
  • The design style of a RESTful architecture
    1. The Web resource is the core of REST architecture.
    2. It realizes a loose coupling between the resource and view functions.
    3. The standart HTTP request methods are used to request the web service.
    4. It follows the C/S framework.
  • URI
    • A typical URI for computing service : http://server_ip:port/compute/<service>/<action>/<token>
      • server_ip:port : IP address of the cloud server and the port that the clod service manager continuously listens to.
      • compte : computing service is requested.
      • service : cloud computing services provided by the cloud robotics platform.
      • action : particular operation that controls status of the services.
      • token : unique security credentials.
    • A typical URI for storage service : http://server_ip:port/storage/<robotID>/<action>/<token>
      • storage : cloud storing service is requested.
      • robotID : unique ID of the robots.
      • action : operations on the cloud data sets, include "fetch" and "store".

C. Docker

  • Docker container technique is used as the computing environment for the cloud system to ensure services isolation and system security.
  • lighter and start-up speed is faseter.
  • It needs to install the ROS and deploy corresponding ROS packages and configure the command sets for managing service nodes.

D. Architecture of Cloud System

Robot-Cloud

  • All cloud service nodes can be executed in the dock container which is pre-installed with ROS environment.
  • Based on the non-ROS interface protocols(?REST API?), URI of the ROS master node can be transmitted to the cloud service manager and the cloud service nodes can connect and join the ROS network located at the local robot. 
  • robot and cloud have a common ROS master nodem the messages can be automatically transferred based on ROS topics.

Cloud-User

  • The user can access the public data stored in the cloud via the REST APIs.
  • The monitoring applications should also be developed as a ROS network.

 

E. Cloud Service Nodes Integration

 

3. CLOUDROS ENABLED MOBILE ROBOT PLATFORM

A. Mobile Robot Platform

B. Kinematic Model

~~ pass ~~

 

4. EXPERIMENT RESULTS

A. Computing Service Experiment

 

B. Storing Service Experiment

각 로봇은 각자의 저장소에 데이터를 저장한다. 그리고 각 로봇의 저장소마다 새로운 정보가 또다시 하나의 저장소에 업데이트 된다.  User는 하나의 저장소에 있는 정보를 사용한다.

2. 로봇 SW와 클라우드 컴퓨팅 기술의 연구 개발 동향

다양한 사례

  • DAvinCi 프로젝트
    • ROS를 클라우드와 연결하려는 대표적인 시도 
    • FastSLAM이라는 대표적인 지도 작성 로봇 알고리즘을 Hadoop 시스템 상의 Map/Reduce 작업으로 병렬화하고 ROS를 메세지 프레임워크로 이용하여 실행시간을 현저히 단축시킴으로써 클라우드 로보틱스의 장점을 입증함.
  • RoboEarth 프로젝트
    • EU의 7번째 프레임워크 프로젝트로 진행된 RoboEarth 프로젝트
    • 목표
      1. 로봇 시스템이 네트워크에 있는 정보 저장소와 연결되면 빠른 학습과 적응을 통해 복잡한 작업을 수행할 수 있음을 입증
      2. 이를 통해 설계 시에 계획하지 않았던 유용한 작업들도 클라우드 연결을 통해 자동으로 수행 가능함을 입증
    •  

컨테이너 개발 시대

  • 클라우드 컴퓨팅 업체들은 주어진 작업을 작게 세분화하고 컨테이너라는 단위로 패키징하여 관리함으로써 소비자가 원하는 서비스를 제공함.
  • 이 작업을 위해 구글에서 Kubernetes라는 컨테이너 관리 도구가 표준으로 자리잡음.
  • 구글에서는 Cloud Robotics ore을 발표하기도 함.

https://www.koreascience.or.kr/article/CFKO201629368415144.pdf

0. 단어 정리

1. Job

주로 대용량의 데이터를 처리하는 배치 작업이나 프로세스를 의미

https://blog.lgcns.com/1453

 

2. 비정형 데이터

미리 정의된 데이터 모델이 없거나 미리 정의된 방식으로 정리되지 않은 정보를 말한다.

비정형 정보는 일반적으로 텍스트 중심으로 되어 있으나 날짜, 숫자, 사실과 같은 데이터도 포함될 수 있다. 이로써 변칙과 모호함이 발생하므로 데이터베이스의 칸 형식의 폼에 저장되거나 문서에 주석화된 데이터에 비해 전통적인 프로그램을 사용하여 이해하는 것을 불가능하게 만든다.

https://ko.wikipedia.org/wiki/%EB%B9%84%EC%A0%95%ED%98%95_%EB%8D%B0%EC%9D%B4%ED%84%B0

 

1. 서론

  • 문제 상황
    • 재난 현장을 실시간 영상으로 재구성하기 위해서는 2D RGB 및 3D 센서 데이터, IMU 등의 다양한 센서 데이터의 통신 및 실시간 처리가 필요
    • 다수의 로봇으로부터 획득하는 대용량 데이터는 기존의 단일 컴퓨팅 환경에서 실시간에 처리하기 어려움
  • 논문 요약
    • 다수 로봇으로부터 습득한 센서 데이터를 효율적으로 처리하기 위한 플랫폼
    • 센서 데이터를 처리할 때 Master-Slave 구조의 분산 처리 서버를 활용하여 부하에 따른 속도 저하 없이 데이터 처리

 

2. 관련 연구

  • 클라우드 서버
    • 클라우드 기반의 Visual SLAM, 클라우드 서버를 활용한 로봇 간 협업 및 지식 공유
    • 위 연구들은 클라이언트 로봇은 센싱, 트래킹 등 간단한 처리 수행, 서버 측에서 학습, 인식의 복잡한 처리 수행 but 배치 처리 기반 ( 일정량의 데이터를 수잡한 후 일괄적으로 처리하므로 실시간성이 조금 떨어짐 )

 

3. 센서 데이터 처리 플랫폼 설계

  • 데이터 전송 규약 (프로토콜)

  • 서버 구조
    • Master-Slave 형태의 분산처리 서버 구조 설계
      • Master 서버는 다수의 클라이언트로부터 수신한 센서 데이터 처리를 위한 Job을 생성하고 Slave 서버로 할당 + 연결된 모든 클라이언트와 Slave 서버의 정보 및 Job에 대한 메타데이터 저장 및 관리
      • Slave 서버는 센서 데이터를 실질적으로 처리하고 비정형 데이터 형태로 DB 서버에 분산 저장 및 관리

4. 실험 및 결과 분석

  • 단일 컴퓨팅 환경 vs 분산처리 (2D 카메라 활용)
    • 단일 : 5개 미만의 센서가 생성하는 데이터를 처리할 때는 처리 속도 저하 X, but 5개 이상이면 CPU 과부하로 인한 속도 처하
    • 분산 : 센서의 개수가 증가하더라도 균일한 처리 속도를 나타냄

 

5. 결론 및 향후 과제

  • 다양한 센서 데이터
  • DB에 저장 되어있는 처리된 센서 데이터를 통해 제어

1. 서론

  • 클라우드 서비스의 분류
    • 메모리, 서버 등의 자원을 제공하여 주는 IaaS (Infrastructure as a Service),
    • 응용 SW를 제공하여 주는 SaaS (Software as a Service),
    • 개발 플랫폼을 구축할 필요 없이 개발 시 필요한 것들을 웹에서 쉽게 활용할 수 있게 하는 PaaS (Platform as a Service)로 크게 나눌 수 있다[1]. 특히 PaaS는 SaaS의 개념을 개발 플랫폼에 확장한 방식으로 생각할 수 있다.
  • 문제 상황
    • IT 분야에서는 위 세가지 분야에서 다양한 응용을 제공하지만 로봇분야에서는 연구가 적고 SaaS 분야로 제한되고 있고 PaaS 관련 연구는 존재하지 않음. (특히 클라우드 기반 통합 개발 환경 서비스
        1. 로봇 시뮬레이션이 필요함. 2. 2개 이상의 운영체제가 사용될 수 있음.
  • 문제 상황의 해결방안.
      1. 로봇 시뮬레이션을 클라우드에서 제공함.
      1. 윈도우와 리눅스를 가상기계 상에 구현하고 자동화된 환경 설정을 해냄

 

 

2. 클라우드 기반 로봇 개발 환경

로봇 소프트웨어 개발을 위한 클라우드 아키텍쳐

  • thin 클라이언트와 통합 개발 환경, 로봇 시뮬레이터를 연결하기 위해 원격 데스크톱 공유 시스템을 사용
    • 원격 데스크톱 공유 시스템은 VNC, Metaframe, RDP 등이 존재
  • 인증 및 관리 시스템
    • 사용자 정보 관리 및 서버와의 연결 관리
    • 클라이언트의 연결 요청 시 인증 및 관리 시스템에게 사용자 정보와 함께 원하는 플랫폼 정보를 입력받고
      인증 및 관리 시스템은 그에 해당하는 서버를 클라우드 플랫폼 내에서 찾아 클라이언트에게 전송한다.
      클라이언트는 전송받은 서버 정보를 이용해 해당 서버와 연결한다.
  • 저장소
    • 사용자의 개발을 돕기 위한 다양한 자원을 저장하고 사용자의 개발 산출물 저장

 

 

제안하는 클라우드 기반 통합개발환경

  • 하드웨어를 가상화하기 위한 #하이퍼바이저# 위에 여러 가상 머신이 존재하며 그 가상 머신 위에 다양한 운영체제가 존재
    • 하이퍼바이저는 대표적으로 VMware의 ESX Server, Citrix의 XenServer, 그리고 마이크로소프트의 하이퍼-V 등이 존재

 

 

 

3. 클라우드 기반 통합개발환경의 구현

이해가 안돼서 쓸 수가 없다.... 이제부터는 그냥 단어조사만 적음

  • OPRoS : 로봇 시뮬레이터

+ Recent posts