본문 바로가기

FOSCAR-(Autonomous Driving)/ROS 스터디

[2023 ROS 스터디] 김예진 #1주차 - ROS 소개 및 설치하기

반응형

1주차 과제로 주어진 강의 총 3개 중 앞의 두 동영상의 내용은 ROS가 무엇인지에 관한 다양한 이야기가 담겨있었다.

 

 

 

Chapter1

먼저 Chapter1. 에서는 로봇 소프트웨어에 관한 소개가 주제였다.

 

퍼스널 컴퓨터, 퍼스널 폰

= 누구나 하나쯤은 보유하고 있는 대중화 제품, 다양한 하드웨어의 결합이 가능한 하드웨어 모듈. 

컴퓨터

=운영체제(리눅스, 윈도우, 우분투, 레드햇, 페도라...) + 핸드폰 - 애플리케이션(iOS, 안드로이드, 윈도우...) 

하드웨어 모듈 + 운영체제 + 앱(서비스) + 유저 = 에코시스템(생태계) - 보이지 않은 생태계 소의 분업. 

로봇분야는?? 아직 대중화되지 못했다. 

소프트웨어 플랫폼이 가져온 변화 - 하드웨어 인터페이스 통합, 하드웨어 추상화 규격화 모듈화, 가격이 낮아지고 성능은 높아짐, 하드웨어 운영체제 애플리케이션 분리됨에 따라 사용자 수요에 맞는 서비스에 집중할 수 있게됨, 유저의 증가, 구매와 피드백, 새로운 생태계의 선환 구조 형성. 

현재 로봇분야의 운영체제는 춘추전국시대.  

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

 

정도로 Chapter1 강의를 요약할 수 있었다.

 

 

Chapter2.

Chapter2. 에서는 내가 본격적으로 사용하게 될 ROS에 관한 설명이 담겨있었다.

 

 

간단히 요약하자면,

ROS(Robot Operating System)?

퍼스널 로봇을 위한 프로그램. 로봇 소프트웨어를 개발하기 위한 소프트웨어 프레임워크.  

ROS 진정한 목적

로보틱스 소프트웨어 개발을 전세계 레벨에서 공동 작업 가능하도록 생태계를 구축하는 것 

ROS는 새로운 운영체재(OS)인가?

ROS는 메타운영체제이다. 

메타운영체제

전통적인 운영체제(리눅스, 안드로이드...) 이용하여 로봇 응용 소프트웨어 개발을 위한 필수 적인 툴박스라고 생각하면 된다. 

ROS의 특징

통신 인프라(노드 간 데이터 통신을 제공, 통상적 미들웨어로 지칭되는 메시지 전달 인터페이스 지원 - 메시지 파싱 기능, 메시지의 기록 및 재생, 메시지 사용으로 인한 다양한 프로그래밍 언어 사용 가능, 분산 매개 변수 시스템) , 로봇 관련 다양한 기능(로봇에 대한 표준 메시지 정의, 로봇 기하학 라이브러리, 로봇 기술 언어, 진단 시스템, 센싱/인식, 내비게이션, 매니플레이션), 다양한 개발 도구(로봇 개발에 필요한 다양한 개발 도구를 제공, 로봇 개발의 효율성 향상 - Command Line Tools, RViz, RQT, Gazebo) 

정도로 정리할 수 있었다.

 

 

3번째 강의에서는 드디어 스터디의 주가 되는 ROS를 설치하는 법을 알려주신다.

따라서 해당 강의를 비롯한 구글링, 네이버 검색을 해가며 설치를 하기 시작했다.

먼저 터미널을 열어주고

터미네이터를 설치하면 좀 더 수월하게 진행할 수 있다하여 설치해주었다.

 

그런 뒤 ROS 다운로드 순서를 따라가주는데...

 

순조롭게 될 리가 없다!

업데이트 중 갑자기 에러가 뜨고 처음에 흐린 눈 하며 무시했다...

 

BUT...

구글링 해서 온 갖가지 방법을 다 동원해보았다.

 

그래도 되지 않았는데

갑자기

소프트웨어 업데이트를 한다고 하길래 그냥 하고 싶은거 다 하게 두었다.

 

그리고 난 뒤 마음을 가다듬고

안되면 그냥 다시 다~~~ 처음부터 하자 하는 마음으로 우분투를 켜고 실행해 보았는데...!!!

 

다행히 실행이 무사히 되었다!

무사히 실행이 되고 나니 어디서 잘못되었는지 조금 감이 왔는데

추측하건데 거북이 프로그램을 실행시킬 때 명령어들을(roscore, rosrun turtlesim turtlesim_node, rosrun turtlesim turtle_teleop_key) 각각 다른 창의 터미네이터에 입력하지 않아서 생긴 오류같았다.

해결이 되어 속이 매우 시원했다...!!!

 

 

1주차를 진행하며 당연하게도 ROS와 조금 친해졌다고 생각한다.

또한 부수적으로 나의 구글링 실력이 한 단계 더 성장하는 그런 한 주 였다!

 

 

반응형