[레포트]Robostics와 AWS IoT 기술을 결합한 무인 로봇 카페 운영 시스템 구축 사례

2021년에 열린 AWS re:Invent에서의 한국어 세션 중 하나인 'Robostics와 AWS IoT 기술을 결합한 무인 로봇 카페 운영 시스템 구축 사례'을 정리한 블로그입니다.
2021.12.10

안녕하세요. 이병현입니다.

2021년 올해도 AWS re:Invent가 개최되었습니다. 한국어 세션중 하나를 보고 정리해둔 글입니다.


세션 개요

DESCRIPTION

비트코퍼레이션은 무인 로봇 카페를 상용화한 스타트업으로 B;eat3.0을 AWS를 사용해서 출시했습니다. 비트는 여러 지역에 있는 로봇 매장의 가시성을 확보하고 효율적인 운영을 위한 새로운 체계가 필요했습니다. 본 세션에서는 B;eat3.0에서 AWS 기반 IoT 및 분석 서비스 사례를 소개합니다. AWS Greengrass를 통해 엣지 단의 런타임 환경과 컴포넌트 관리 환경을 제공하고, AWS IoT Core를 통해 여러 지역에 있는 로봇 카페의 데이터를 수집합니다. AWS 분석 서비스 및 AWS Lambda를 사용해서 각종 데이터를 실시간 수집/가공한 뒤 대쉬보드를 통해 로봇 카페 운영을 위한 다양한 정보를 제공하는 엔드-투-엔드 서비스 사례를 소개합니다.

SPEAKERS

Chulwoo Choi Solutions Architect at AWS

Sung Won Jee CEO at b;eat corp.

SESSION LEVEL

200 - Intermediate

세션 내용

아젠다

  • B;eat Robot Café 소개
  • 아키텍처 설계 방향
  • 비트코퍼레이션 i-MAD 개발 사례
  • 정리하기

B;eat Robot Café 소개

  • 로봇이 운영하는 무인 자동화 카페
  • 현재 전국의 120개 점포가 운영중이며, 글로벌 진출도 앞두는 중.
  • 기획 단계부터 AWS(AWS 프로토 타이핑팀)과 한께 진행하였음.

비트의 기획단계의 과제

  • 전국 단위, 글로벌 진출을 위해 매장을 원격으로 지원 가능해야했음. 중앙 서버 외에도 비트에 탑재되어있는 부수 서버들을 직접관리하기에는 리소스가 많이 들고, 빠른 대처가 어려웠음.

  • IoT기능을 강화해서 각 머신들의 라이브 모니터링 시스템이 필요했음.

  • 적절한 제품을 잘 만들고 있는지, 비트 내 이물질이 없는지 안정성 강화가 필요했음.

  • 머신 운영상에 필요한 원재료들의 소비, 재고량을 모니터링이 필요했음.

아키텍처 설계 방향

  • 데이터를 수집하고 엣지 소프트웨어를 개발하고 배포, 업데이트가 필요
  • 엣지 디바이스는 서버에 연결하여 운영 상태 정보를 전달
  • 효과적인 연동을 위해 적절한 프로토콜 선택
  • 클라우드에서 메시지를 받아 가공, 변환 및 비지니스 로직 처리
  • 매장 상태에 대한 데이터를 시각화하고 분석할 수 있는 플랫폼이 필요

이 모든 것을 큰 초기 비용없이, 사용한 만큼만 비용을 지불, 운영 비용을 최소하 할 수 있어야 함

  • 엣지단에서 쉽개 개발, 배포 가능한 환경이 필요
  • 커스텀 라이브러리 사용 가능해야 함
  • 로봇 카페 엣지 모듈과 통신하기 위한 게이트웨이, 메시지 프로커 필요
  • 로봇 카페가 늘어남에 따라 등록하고, 양쪽 간의 의존성을 낮추기 위한 pub/sub 구조
  • 실시간 ETL 작업
  • 실시간으로 데이터를 반영하는 시각화 환경

  • 엣지 디바이스 연결 및 메시지 처리를 위해 AWS의 IoT 서비스 사용
  • 클라우드에 올라온 메시지는 AWS Lambda를 통해 로봇 카페의 재료 소진 판단하고 Amazon SNS와 Amazon SES를 통해 알림을 전달
  • 메시지는 Amazon S3에 저장, 이 메시지는 AWS Lambda가 변형한 뒤 Amazon OpenSearch 서비스에 저장
  • Amazon OpenSearch는 시각화를 위해 키바나를 사용

전체적으로 AWS의 서버리스와 매니지드 서비스만을 사용하여 구성함

AWS IoT Greengrass

  • 엣지에서 IoT 디바이스를 소프트웨어를 쉽게 구축하고 관리 할 수 있음
  • 엣지 디바이스의 기계 학습을 통해 만든 모델을 배포하여 기계 학습 추론이 가능

  • ARM or x86 아키텍처 기반의 우분투 혹은 라즈베리파이와 같은 리눅스 기반에 동작
  • 기계 학습 모델 기반으로 추론
  • 엣지단에서 소프트웨어를 효과적으로 개발, 배포

AWS IoT Greengrass Edge Runtime

  • OS 위에 IoT Greengrass Client Software가 올라감
  • 그 위에 Greengrass 컴포넌트가 올라감, 이 Greengrass 컴포넌트를 AWS Lambda, Docker 컨테이너, 혹은 자신만의 런타임을 만들어 자바, 파이썬 등 익숙한 프로그래밍 언어를 사용하여 개발, 운영이 가능해짐
  • 라이선스는 아파치 2.0이며 소스는 오픈소스
  • 특정 하드웨어 혹은 소프트웨어에 맞게 커스터마이징하고 확장 가능

AWS IoT Greengrass Cloud service

  • 배포하는 경우 컴포넌트 형태로 클라우드로 퍼블리시하고 배포
  • 배포 설정에는 어떤 컴포넌트를 배포할지 어떤 버전을 배포할지 기술 가능
  • 배포 시, 유효성 확인 정책 및 컴포넌트가 롤아웃되는 속도, 실패 조건들을 구성 가능
  • 배포를 특정 디바이스에만 할 수도 있고, thigsGropu에 배포도 가능

AWS IoT Core

  • AWS IoT Core는 디바이스를 인증하여 클라우드에 안전하게 연결할 수 있게하는 게이트웨이 서비스를 제공
  • 메시지를 프로세싱하여 클라우드로 라우팅
  • 디바이스가 연결이 끊긴 상황에는 디바이스 섀도잉을 사용함
  • 메시지를 필터링하고 프로세싱하여 다른 AWS 서비스, 다른 디바이스들과 통합하기 위한 룰 엔진 제공

AWS IoT Rule Engine

  • 디바이스로 부터 오는 센서 데이터를 필터링하고 변환 가능
  • 필터링은 SQL문을 사용
  • 변환한 메시지를 특정 액션에 정의하여 Amazon S3에 저장하거나 AWS Lambda로 호출하거나 Amazon Kinesis로 보낸다거나 할 수 있음

AWS Lambda

  • 서버를 관리할 필요 없음
  • 규모에 따라 자동으로 확장
  • 기본적으로 천개의 동시처리가 가능하며 상향 가능
  • 파이썬, 자바스크립트, 자바 등 다양한 프로그래밍 언어 지원
  • Amazon CloudWatch를 기본적으로 모니터링으로 제공
  • 다른 AWS 서비스들과 통합이 쉬움

Amazon OpenSearch Service

  • Amazon Elasticsearch Service, 키바나를 포그하여 아파지 2.0 라이선스를 따르는 오픈소스 프로젝트임
  • OpenSearch 대시보드, 키바나 등을 사용하여 시각화 할 수 있음

  • UltraWarm Storage를 통해 데이터를 경제적으로 관리할 수 있고, 효과적으로 읽고, 분석할 수 있게 해줌

비트코퍼레이션 i-MAD 개발 사례

  • 장비와 센서 데이터들을 라이브로 수집하기 위해 AWS IoT Core와 AWS IoT Greengrass V2를 사용

  • AWS IoT Greengrass를 통해 데이터를 업로드
  • AWS IoT Core의 룰에 의해 두 개의 람다로 구성
  • 이벤트 조건에 따른 알람을 발송
  • Amazon OpenSearch Service로 실시간 분석하여 대시보드에 보여짐
  • 오랜 기간이 경과한 데이터도 AWS Glue와 Amazon Athena, Amazon Quicksight를 통해 재사용할 수 있도록 배치

  • IaC는 AWS CDK를 사용
  • AWS CodePipeline을 통해 테스트를 구성

정리하기

앞으로의 진화 방향

  • Amazon S3에 저장된 원본 데이터 기반으로 데이터 프로세싱하여 BI 서비스 제공
  • 기계 학습을 통해 재료 소진 상태를 예측