Amazon Web Services 한국 블로그

AWS RoboMaker – 지능형 로봇 앱 개발, 테스트, 배포 및 관리 서비스 출시

저는 수십 년 동안 로봇 제작을 꿈꿔 왔는데 이제 드디어 그 기회를 얻게 되었습니다! 제가 항상 어렵게 느껴왔던 부분은 수많은 부품을 연결하고 연동시키는 것이었습니다. 의도한 대로 로봇을 움직이려면 복잡한 하드웨어, 소프트웨어, 센서, 통신 시스템 및 “로봇 두뇌”가 모두 상호 작용하여 작동해야 합니다.

오늘은 AWS RoboMaker에 대한 이야기를 하려고 합니다. 새롭게 선보이는 이 서비스는 개발, 시뮬레이션, 테스트 및 배포를 통해 로봇제작의 꿈을 실현할 수 있도록 지원합니다. 고객은 클라우드 기반의 개발 환경에서 코드를 개발하고, Gazebo 시뮬레이션을 통해 테스트한 다음, 완성된 코드를 하나 이상의 로봇으로 구성된 플릿에 배포할 수 있습니다. 코드를 배포한 후에는 클릭 몇 번으로 전체 플릿에 업데이트와 버그 수정을 푸시할 수 있습니다. 코드는 ROS(Robotic Operating System)용 패키지 형태로, 액세스 가능한 Amazon Lex, Polly, Amazon Rekognition, Amazon Kinesis Video StreamsAmazon CloudWatch와 같은 AWS 서비스를 활용하여 정교한 로봇 두뇌를 제작할 수 있습니다. 또한 Amazon SageMaker 모델을 구축하고 훈련시켜 로봇 두뇌에 기계 학습을 접목할 수 있습니다.

RoboMaker는 가정, 작업장, 공장, 교실, 식당, 호텔뿐 아니라 다른 행성까지 포함하는 광범위한 물리적 환경에서 작동하는 다양한 형태와 크기의 로봇과 작동하도록 설계되었습니다.

자세한 내용을 살펴 보겠습니다.

AWS RoboMaker의 작동 방식 – 시뮬레이션 실행
RoboMaker 콘솔을 통해 로봇 여정을 시작해 보겠습니다(API 및 CLI 액세스도 이용 지원). [Try sample application]을 클릭하여 시작합니다.

RoboMaker에는 시작에 도움이 되는 유용한 샘플 애플리케이션 모음을 포함되어 있습니다. 두 번째 항목인 [Robot Monitoring]을 선택하고 [Launch]를 클릭합니다.

CloudFormation 스택이 시작되어 VPC, RoboMaker 시뮬레이션 작업 및 Lamba 함수를 생성합니다. 몇 분 안에 과정이 완료되고 콘솔에 작업이 표시됩니다.

작업을 클릭하면 세부 정보를 볼 수 있습니다.

페이지 아래 부분에 더 흥미로운 내용이 담겨 있습니다. 시뮬레이션은 배경에서 실행되며 네 가지 도구를 사용하여 시뮬레이션을 보고 상호 작용할 수 있습니다.

Gazebo는 실제 로봇 시뮬레이터입니다. 로봇이 장면 안에서 돌아다니는 것을 보며 Gazebo UI를 통해 상호 작용할 수 있습니다.

Rqt는 ROS 개발용 GUI 도구입니다. 이 도구를 사용하면 계산 그래프와 같은, 로봇의 다양한 측면을 검사할 수 있습니다.

로봇의 시점의 시뮬레이션도 가능합니다.

Rviz는 시뮬레이션과 로봇의 상태에 대한 또다른 보기를 제공합니다.

Terminal은 해당 작업을 실행하는 EC2 인스턴스에 대한 셸 액세스를 제공합니다.

지금까지 소개한 네 화면을 동시에 볼 수도 있습니다.

이 샘플의 이름이 Monitor Fleets of Robots with Amazon CloudWatch인 것에 유의하십시오. 이 코드는 시뮬레이터에서 실행되며 CloudWatch에서 해당 지표를 확인할 수 있습니다. 가장 흥미로운 부분은 로봇과 목표 사이의 거리입니다.

AWS RoboMaker의 작동 방식 – 개발 환경 실행
위에서 저는 시뮬레이션 실행 방법을 보여드리기 위해 중간 단계부터 시작했습니다. 한 단계 뒤로 돌아가 개발 환경을 생성한 후 전체 작업이 어떻게 시작되는지 보여드리겠습니다. RoboMaker을 사용하면 여러 개발 환경을 생성 및 관리할 수 있습니다. [Create environment]를 클릭하여 시작하겠습니다.

환경 이름을 지정하고, 기본 인스턴스 유형을 사용하고, VPC 및 서브넷을 선택한 다음 [Create]를 클릭합니다.

환경이 준비되면 [Open environment]를 클릭하여 계속 진행합니다.

Cloud9이 1분 내에 가동되어 실행되며 클릭 한 번으로 샘플 RoboMaker 애플리케이션을 액세스할 수 있습니다.

각 샘플은 로봇 및 시뮬레이터 환경에서 실행될 코드를 위한 모든 파일을 포함하고 있습니다.

고객은 코드를 수정하고 번들로 구축 및 패키징할 수 있습니다. 그런 다음 시뮬레이터를 다시 시작하면 수정 내용이 작동하는 것을 볼 수 있습니다.

AWS RoboMaker 작동 방식 – 코드 배포 및 로봇 플릿 관리
다음 단계는 애플리케이션을 생성하고 진짜 로봇에 배포하는 것입니다. 시간적 여유가 있고 AWS re:Invent 날짜가 많이 남아 있을 적에, 저는 이 스토리의 완결판에 소개할 목적으로 TurtleBot3 로봇을 구입하여 조립해 두었습니다. 그러나, 시간이 순식간에 흘러가는 바람에 미처 마지막 설정 작업을 마치지 못했습니다. 로봇 조립 과정 자체는 재미 있습니다(핀셋, 떨리지 않는 손 그리고 밝은 조명이 필수).

RoboMaker에서 로봇을 생성하고 이를 AWS Greengrass 그룹에 할당할 수 있습니다.

그런 다음 플릿을 생성하고 Johnny5를 여기에 추가하면 코드를 배포할 수 있습니다! 배포 시스템은 배경에서 Greengrass OTA(Over the Air) 업데이트 메커니즘을 사용합니다.

추가 정보
AWS RoboMaker의 가장 흥미로운 부분을 설명해 드리기 위해 최선을 다했으나 이 외에도 소개해 드릴 많은 부분이 있습니다. 그 중 몇 가지를 요약하면 다음과 같습니다.

프로그래밍 지원RoboMaker에는 시뮬레이션 작업, 애플리케이션, 로봇 및 플릿을 제작, 설정 및 관리하는 데 필요한 다양한 함수를 포함하고 있습니다.

병렬 시뮬레이션 – 로봇을 위한 알고리즘을 설계하고 코딩했으면 병렬 시뮬레이션 작업을 생성하여 다양한 조건 또는 환경에서 알고리즘이 어떻게 작동하는지를 빠르게 확인할 수 있습니다. 예를 들어, 수십 만 개의 실제 거리 또는 사무실 모델을 사용하여 경로 탐색 및 주행 알고리즘을 테스트할 수 있습니다.

AWS 기반 – 고객이 로봇 실행을 위해 작성하는 코드는 ROS 패키지를 활용하여 Rekognition, LexKinesis Video Streams와 같은 관련 AWS 서비스에 액세스할 수 있습니다.

ROS – ROS는 오픈 소스 프로젝트입니다. AWS는 AWS에 대한 액세스를 제공하는 패키지를 비롯한 코드와 전문 지식의 기여를 통해 이 프로젝트에 참여하고 있습니다.

요금 – 로봇 앱에 ROS를 사용하는 데에는 별도의 요금이 부과되지 않습니다. Cloud9은 EC2 및 EBS를 사용하며 이에 대해서는 AWS 프리 티어를 초과하는 사용량에 대한 요금을 지불해야 합니다. 시뮬레이션은 시뮬레이션 유닛을 기반으로 비용이 청구됩니다. Greengrass와 기타 코드에서 사용하는 관련 AWS 서비스(Lex, Polly 등)에 대해서도 요금을 지불해야 합니다.

지금 이용 가능
AWS RoboMaker은 정식 출시되었으며 지금 바로 멋진 로봇 앱의 제작을 시작하실 수 있습니다! 이 서비스는 미국 동부(버지니아 북부), 미국 서부(오레곤)유럽(아일랜드) 리전에서 출시되었으며 아시아 태평양(도쿄)도 곧 추가될 예정입니다.

Jeff;

PS – TurtleBot3를 위한 멋진 앱을 제작하여 공유해 드릴 예정이니 기대하시기 바랍니다!

이 글은 AWS News Blog의 AWS RoboMaker – Develop, Test, Deploy, and Manage Intelligent Robotics Apps의 한국어 번역으로 정도현 AWS 테크니컬 트레이너가 감수하였습니다.