본문 바로가기

FOSCAR-(Autonomous Driving)/ROS 스터디

[2025 ROS 스터디] 김승현 #1주차 - ROS 소개

반응형

 


Chapter1.로봇 소프트웨어 플렛폼

 

●  컴퓨터, 핸드폰 >> 누구나 하나쯤은 보유하고 있는 대중화 제품

                             >>다양항 하드웨어의 결합이 가능한 하드웨어 모듈

                             >>운영체제 + 애플리케이션

 

● 하드웨어 모듈 + 운영체제 + 앱(서비스) + 유저 ==>>생태계(ecosystem)

 

● 보이지 않는 생태계 속의 분업     ex)하드웨어 회사, 운영체제 회사, 앱 회사

 

● 하드웨어 만들고 소프트웨어 짜고 로봇 개발 혼자 다함>>대중화되지 못함

 

소프트웨어 플렘폼이 가져온 변화

     1. 하드웨어 인터페이스 통합

     2. 하드웨어 추상화 · 규격화 · 모듈화

     3. 가격 ↓ , 성능 ↑

     4. 하드웨어  ·  운영체제  ·  애플리케이션 분리

     5. 사용자 수요에 맞는 서비스에 집중

     6. 유저증가 구매와 피드백, 새로운 생태계의 선환 구조 형성

 

● 로봇분야 운영체제의 경우 약 40여개    ex) OPRos, NAOqi, ROS 등 거의 모두 비슷해짐

 

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

     1. 하드웨어 픔렛폼과의 소프트웨어 플렘폼간의 인터페이스 확립

     2. 모듈형 하드웨어 플랫폼 확산

     3. 하드웨어에 대한 지식이 없어도 응용 프로그램 작성가능 (다른 소프트웨어 분야에서 넘어올때 큰 장점)

     4. 더 많은 소프트웨어 인력들이 로보틱스 분야로 진입, 로봇 제품에 참여 가능

     5. 유저에게 제공할 서비스에 집중

     6. 실수요가 있는 서비스 제공으로 유저계층 형성 및 피드백

     7. 로봇 개발이 급속도로 발전 할 수 있는 계기

 

 

● Personal Computer → Personal Phone → Personal Robot


 

Chapter2.로봇 운영체제 ROS

 

◈ ROS란?    

>> 로봇 소프트웨어를 개발하기 위한 소프트웨어 프레임워크

>> 노드간에 메시지 교환 방법으로 복잡한 프로그램을 잘게 나눠 공동 개발이 가능

>>명령어도구, 시각화 도구, Rviz, GUI 도구 모음 rqt, 3차원 시뮬레이터 Gazebo 지원

>> 로보틱스에서 많이 사용되는 모델링, 센싱, 인식, 내비게이션, 매니퓰레이션 기능 지원

>> 로보틱스 생태계 생성

 

● ROS의 진정한 목적은 로보틱스 소프트웨어 개발을 전세계 레벨에서 공동 작업 가능하도록 생태계를 구축하는 것이다.

 

● ROS는 새로운 운영체제인가 ?

>> OS는 아니다. ROS는 메타운영체제이다(Robot Operating System)

     ( 전통적인 운영체제는 아니고 로봇 응용 소프트웨어 개발을 위한 생태계 )

 

● 다른 디바이스간의 통신지원이 가능하다

 

ROS를 사용가능한 운영체제는 거의 가능하지만, Ubuntu에서 구동하는것을 추천

 

 

 

  

◈ ROS의 생태계

 

 

 

◈ 로봇 운영체제 ROS 특징

 

● 특징 1) 통신 인프라

>> 노드간 데이터 통신을 제공하고 통상적 미들웨어로 지칭되는 메시지 전달 인터페이스 지원한다.

>>메시지 파싱 기능, 메시지의 기록 및 재생, 메시지 사용으로 인한 다양한 프로그래밍 언어 사용가능,

    분산 매개변수 시스템

        

● 특징 2) 로봇 관련 다양한 기능

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

     매니퓰레이션

 

● 특징 3) 다양한 개발 도구

>> 로봇 개발에 필요한 다양한 개발 도구를 제공해 로봇 개발의 효율성 향상

>> Command-Line Tools, RViz, RQT, Gazebo

 


 

Chapter3.ROS 개발환경 구축

 

ROS에서 사용 가능한 통합개발환경

>>Qtcreator, visual studio code, Eclipse

 

 

 

ROS동작테스트

turtlesim

● roscore

● rosrun turtlesim turtlesim_node

● rosrun turtlesim turtle_teleop_key

● rosrun rqt_graph rqt_graph

 

실행결과

 

 

 

 

 

 

 

 

 

반응형