본문 바로가기
Computer Science/ROS

ROS2란?

by BaekDaBang 2024. 6. 7.
 

ROS: The ROS Ecosystem

ROS Has Solutions to Your Robot Problems Despite the name, ROS is not, in fact, an operating system. Rather, it’s an SDK (software development kit) that provides the building blocks you need to build your robot applications. Whether your application is a

www.ros.org

 

Documentation - ROS Wiki

ROS (Robot Operating System) provides libraries and tools to help software developers create robot applications. It provides hardware abstraction, device drivers, libraries, visualizers, message-passing, package management, and more. ROS is licensed under

wiki.ros.org

 

ROS(Robot Operating System)는 로봇을 개발할때 기능의 구현, 하드웨어의 통제 등을 위해 사용되는 로봇 개발을 위한 SDK이다. ROS로 무엇을 구현할 수 있는지 알기 전, ROS를 통해 개발된 로봇의 예시를 살펴보자.


ROS2 사용처

ROS를 통해 개발된 로봇

🍔 서빙 로봇 (e.g. KT AO Robot, 애슐리 퀸즈) 🍟

  • 호출 및 지정 테이블 목적지 지정
  • 목적지까지 자율 주행장애물 회피
  • 음식 서빙 및 식기 회수 후 복귀 및 반복

 

🛵 배달 로봇 (e.g. 배민로봇 딜리🤖) 📞

2021년 11월 1일, 광교 아이파크에서 세계 최초 Door to Door 로봇배달서비스를 시작

  • 음식 픽업 및 배달지 지정
  • 목적지까지 자율 주행장애물 회피
  • 배달 완료 후 다시 반복

 

☕ 바리스타 로봇 🦾 (e.g. 성수동 로봇 카페 ‘Cafe.bot’)

  • 고객이 원하는 주문을 접수 받아
  • 집게 손을 이용해 Pick and Place!
  • 가판대에 내려둔 뒤 다시 반복

  • 형태는 다양하지만, 대부분의 로봇들이 공통적으로 가진 속성이 있다.

 

  • 주변 환경과 상황 인지하기 위한 오감의 역할을 하는 센서
  • 인지를 통해 입력된 정보에 대해 판단하기 위한 소프트웨어
  • 판단을 기반으로 직접적인 제어를 수행하는 액츄에이터

즉, 로봇 엔지니어라면 이 모든 것을 개발 할 줄 알아야 하거나,

각 분야 전문가들의 긴밀한 협력 관계를 통해 개발이 이뤄져야 한다.

 

하지만 현실적으로 로봇 개발에 필요한 속성들을 골고루 갖춘 인재들이 드물 뿐더러

서로 다른 지식과 다른 도구를 사용하던 개발자들끼리 하나의 로봇을 만들기 위해

하나의 프로젝트로 협력하기란 쉬운 일이 아니다.


ROS의 등장

 

ROS(Robot Operating System)로봇 공학 애플리케이션을 위한 오픈 소스 소프트웨어 개발 킷(SDK)입니다. ROS는 연구에서 배포 및 생산에 이르기까지 모든 산업 분야의 개발자에게 표준 소프트웨어 플랫폼을 제공하는 것을 목적으로 한다.

 

ROS의 목적

“로보틱스 소프트웨어 개발을 전 세계 레벨에서 공동 작업이 가능하도록 하는 환경을 구축하는 것!”

  • ROS는 로보틱스 연구, 개발에서 코드를 패키지화하여 재사용을 극대화하는 것에 초점을 맞춘 SDK
  • 이를 위해 노드 단위의 분산 프로세스, 공유 및 재배포를 쉽게 하기 위한 패키지 단위 관리, 다양한 프로그래밍 언어 지원 기능을 갖춤

ROS의 특징 (장점)

  • Linux, Mac, Window 다양한 운영체제 지원
  • Python, C 등 다양한 프로그래밍 언어 지원
  • 패키지 지향으로 인한 높은 재사용성
  • 활발한 커뮤니티 교류
  • 오픈 소스

 

'Computer Science > ROS' 카테고리의 다른 글

Service  (0) 2024.06.07
Topic  (0) 2024.06.07
Node와 Package  (0) 2024.06.07
개발 환경 구축 - Ubuntu, ROS2  (0) 2024.06.07
임베디드 보드  (0) 2024.06.07