본문 바로가기

FOSCAR-(Autonomous Driving)/ROS 스터디

[2024 ROS 스터디] 김기태 #1주차 - ROS 소개 및 설치하기

반응형
  • ROS 배경
    Personal computor(PC) 와 Personal Phone은 누구나 하나쯤 보유하고 있는 대중화된 제품이다. 이러한 제품들은 하드웨어 모듈, 운영체제(Operating System), 앱 서비스(App), 유저 라는 네 가지 요소가 결합된 생태계를 형성하고 작동하고 있다.
    이러한 생태계를 바탕으로한 소프트웨어 플랫폼은 하드웨어 인터페이스 통합, 추상화, 규격화, 모듈화와 하드웨어/운영체제/앱 분리를 통해 사용자 수요에 맞는 서비스에 집중하여 새로운 생태계의 선환 구조를 형성한다.

  • ROS를 사용하는 이유
    ROS가 로봇 분야에서 가장 많이 사용되는 운영체제이다. ROS는 로봇 소프트웨어 개발을 전 세계적으로 공동 작업이 가능하도록 생태계를 구축하는 것을 목표로 한다. 이를 통해 하드웨어 플랫폼과 소프트웨어 플랫폼 간의 인터페이스를 확립하고, 더 많은 소프트웨어 인력들이 로보틱스 분야로 진입할 수 있도록 돕는다. 또한, 유저에게 제공할 서비스에 집중할 수 있도록 하여 로봇 개발의 속도를 빠르게 할 수 있다.
  • ROS 개요
    ROS(Robot Operating System)은 로봇 소프트웨어 개발을 위한 오픈소스 프레임워크이다. 노드간에 메세지 교환 방법으로 복잡한 프로그램을 잘게 나눠 공동개발이 가능하고, 여러 기능들을 지원하여 로보틱스 생태계를 생성한다. ROS는 메타 운영 체제(Meta Operating System)이라고도 불린다. 전통적인 운영체제는 아니지만 여러 운영체제 위에서 동작하는 소프트웨어 플랫폼이다 다양한 로봇과 하드웨어 간의 상호작용을 지원한다. 기존적인 운영체제를 그대로 사용하며 여러 툴들을 이용하여 로봇 관련 소프트웨어를 개발할 수 있다. 메타 운영 체제의 최대 장점은 이기종 디바이스 간의 통신을 지원하는 점이다.
  • ROS 특징
    1. 통신 인프라
    노드 간 데이터 통신을 제공하고 통상적 미들웨어로 지칭되는 메세지 전달 인터페이스를 지원한다.
    메시지 파싱 기능, 메시지의 기록 및 재생, 메시지 사용으로 인한 다양한 프로그래밍 언어 사용 가능, 분산 매개 변수 시스템 등의 특징을 가지고 있다.
    2. 로봇 관련 다양한 기능
    로봇에 대한 표준 메세지 정의, 로봇 기하학 라이브러리, 로봇 기술 언어, 진단 시스템, 센싱/인식, 내비게이션, 매니퓰레이션
    3. 다양한 개발 도구
    로봇 개발에 필요한 다양한 개발 도구를 제공하고, 로봇 개발의 효율성을 향상한다. 


 

 

noetic/Installation/Ubuntu - ROS Wiki

If you rely on these packages, please support OSRF. These packages are built and hosted on infrastructure maintained and paid for by the Open Source Robotics Foundation, a 501(c)(3) non-profit organization. If OSRF were to receive one penny for each downlo

wiki.ros.org

 (링크에 나와있는 방법대로 설치를 진행했다.)

  • ROS 동작 테스트 - turtlesim

  • roscore
  • rosrun turtlesim turtlesim_node
  • rosrun turtlesim turtle_teleop_key
  • rosrun rqt_graph rqt_graph
반응형