2023년 10월 11일 수요일

ROS에대한 기본이해

ROS에대한 기본이해

ROS 시스템에 대한 기본 이해

ROS 개념

ROS(로봇 운영 체제)는 로봇 소프트웨어 개발을 위한 오픈 소스 프레임워크로, 로봇도 운영 체제도 아닙니다. ROS는 2007년 스탠포드 대학교 박사인 Eric Berger와 Keenan Wyrobek에 의해 만들어졌습니다. 그들은 로봇 하드웨어에 대한 지식이 거의 없는 소프트웨어 개발자라도 로봇용 소프트웨어를 작성할 수 있을 것이라고 기대했습니다.

ROS(로봇 운영 체제) 는 메타 운영 체제입니다.

메타 운영체제는 명확히 정의된 용어는 아니지만, 애플리케이션과 분산 컴퓨팅 자원 간의 가상화 계층을 활용해 분산 컴퓨팅 자원을 활용해 스케줄링, 로딩, 모니터링, 오류 처리 등의 작업을 수행하는 시스템이다.

ROS의 목표는 "글로벌 규모의 로봇 소프트웨어 공동 개발을 위한 환경 구축!"입니다.

오늘날 ROS Classic(ROS 1이라고도 함)에는 다양한 로봇 애플리케이션 개발을 위한 하드웨어를 다루는 풍부하고 안정적인 소프트웨어 패키지, 도구 및 튜토리얼 세트가 있습니다. ROS 모듈에는 센서 융합, 탐색, 시각화 및 동작 계획이 포함됩니다.

ROS 1은 원래 학술용으로만 개발되었으므로 이를 사용하려면 완벽한 통신 기능이 필요합니다. 그러나 현실 세계의 통신 조건은 상상만큼 완벽하지 않습니다. 특히 산업 환경에서는 더욱 그렇습니다.
대역폭, 네트워크 가용성 및 통신 범위와 같은 가변 요소는 물론 배터리 구동 모바일 로봇을 통한 트랜시버의 전력 소비로 인해 시스템의 복잡성이 크게 증가합니다. 또한 ROS 1은 단일 로봇에서만 작동합니다. 공장을 더욱 스마트하게 만들려면 여러 대의 로봇이 필요하며, 이들 로봇은 서로 협력할 수 있어야 합니다.
ROS 2는 DDS(데이터 배포 서비스)의 통신 아키텍처를 기반으로 차량 자율성을 통해 차량 관리 시스템을 분산화하여 AMR이 P2P 실시간 통신을 달성할 수 있도록 합니다.

ROS 개발 역사

  • 2007년 스탠포드 대학의 STAIR(S Tandford AI Robot) 프로젝트에서 탄생한 Morgan Quigley
  • 2008년 Willow Garage 인수
  • 2010 ROS 1.0 출시
  • 2011 터틀봇 출시
  • 2012 첫 번째 ROScon
  • 2013 OSRF(Open Source Robotics Foundation)가 ROS 프로젝트 인수
  • 2014년 ROS 인디고 출시
  • 2016 ROS 키네틱 출시
  • 2017 ROS 2.0 아덴트 출시
  • 2018 ROS 멜로디 출시
  • 2020 ROS Noetic 릴리스

ROS 설계 목표 및 기능

  • 소프트웨어 재사용률 향상
  • 분산
  • 포인트 투 포인트 디자인
  • 다국어 지원
  • 단순화된 아키텍처와 고도의 통합
  • 테스트하기 쉬움
  • 대규모 애플리케이션
  • 풍부한 구성요소 툴킷
  • 무료 및 오픈 소스

ROS = 통신 메커니즘 + 개발 도구 + 응용 기능 + 생태계

ROS 시스템 구성

  1. 노드 - 소프트웨어 모듈
  2. 노드 관리자(ROS Master) - 제어 센터, 매개변수 관리 제공
  3. 주제 - 비동기 통신 메커니즘, 메시지 전송(Message)
  4. 서비스 - 동기식 통신 메커니즘, 요청/응답 데이터 전송

ROS 설치 및 초기 구성

설치 단계

  1. 설치 소스 설정
  2. 키 설정
  3. 설치(Desktop권장)
  4. 환경 변수 구성(모든 터미널 인터페이스에서 ROS 명령 사용을 용이하게 하기 위해)

ROS 공식 웹사이트 설치 가이드

wiki.ros.org/cn/ROS/Inst…

개인적으로 Docker에 설치해서 작업하는것도 권장합니다.

0 comments:

댓글 쓰기