본문 바로가기

FOSCAR-(Autonomous Driving)/ROS 스터디

[2024 ROS 스터디] 초라핀스카 베로니카 #1주차 - ROS 소개 및 설치

반응형

인트로


 Personal Phone (smartphone)과 PersonalCcomputer의 공통점:
- 대중화
- 하드웨어 모듈화
- 운영 체제 + 앱

 

생태계란 (ecosystem) = 하드웨어 모듈 + 운영체제 + 앱 + 유저

 

Personal Computer도 Personal Phone도 처음에는 모든 것을 한 회사에서 만들었다. 하드웨어 모듈화도 되지 않았고 운영체제도 없었지만 대중화되면서 ecosystem의 4가지 요소를 가지게 되었다. 로봇도 똑같이 지금은 한 회사에서 모든 것을 만들고 있지만 시간이 지나면 모듈화 될 거고 personal robot이 될 것이다.

 

로봇 소프트웨어 플랫폼이 가져올 미래

  • 하드웨어 플랫폼과 소프트웨어 플랫폼간의 인터페이스 확립
  • 모듈형 하드웨어 플랫폼 확산
  • 하드웨어에 대한 지식이 없어도 응용 프로그램 작성 가능
  • 더 많은 소프트웨어 인력들이 로보틱스 분야로 진입, 로봇 제품에 참여 가능
  • 유저에게 제공 할 서비스에 집중
  • 실수요가 있는 서비스 제공으로 유저 계층 형성 및 피드백
  • 로봇 개발이 급속도로 발전 할 수 있는 계기

Personal Computer과 Personal Phone의 운영체제처럼 personal robot을 위한 운영체제 여러 가지 있다. 그중에 제일 많이 쓰이는 것은 ROS이다.

 

 

ROS 소개

 

ROS (Robot Operating System)는 로봇을 위한 메타운영체제(Meta-Operating System)이다. (smartphone: android, iOS, pc: windows, linux etc, robot: ROS)

 

ROS는 전통적인 운영체저가 아니라 그 운영체제를 이용하는 메다운영체제다.

ROS는 로봇 운영을 위한 다양한 도구를 제공하고 있다.

다양한 프로그래밍 언어 사용 가능 → 원래 쓰던 언어를 쓰면 된다.

 

ROS의 특징:

통신 인프라

  • 메세지 파싱 기능
  • 메세지의 기록 및 재생
  • 메세지 사용으로 인한 다양한 프로그래밍 언어 사용 가능
  • 분산 매개 변수 시스템

로봇 관련 다양한 기능

  • 로봇에 대한 표준 메세지 정의
  • 로봇 기하학 라이브러리
  • 로봇 기술 언어
  • 진단 시스템
  • 센싱/인식
  • 내비게이션
  • 매니퓰레이션

다양한 개발 도구

  • command line tools (GUI 없이 ROS에서 제공되는 명령어로만 거의 모든 ROS 기능 소화)
  • RViz (3D 시각화툴 제공)
  • RQT (그래픽 인터페이스 개발을 위한 QT 기반 프레임 워크 제공)
  • Gazebo (물리 엔진을 탑재, 3차원 시뮬레이터)

 

ROS 설치

 

https://wiki.ros.org/noetic/Installation/Ubuntu 에 나와 있는 설명대로 ROS를 설치한다.

ROS 테스트
1. 터미널에서 roscore 명령을 친다

2. 다른 터미널 창에 roserun turtlesim turtlesim_node 명령어를 치면 TurtleSim 창이 생긴다


3. 다른 터미널 창에 roserun turtle turtle_teleop_key 명령어를 치면 방향 키로 거북이를 움직일 수 있다.

 

 

반응형