Chapter 1. 로봇 소프트웨어 플랫폼
1강에서는 로봇 소프트웨어 플랫폼의 탄생배경과 필요성에 대해 설명한다.
- 산업시장에서는 ' 모듈 + OS + APP(서비스) + 유저 '의 4대 요소가 상호작용을 이루며 분업이 되고있다. 하지만 로봇분야의 기업들은 이 분업이 이루어지지 않아 대중화가 잘 되고있지 않다.
- 로봇 소프트웨어 플랫폼이 가져올 미래
- 하드웨어 플랫폼과 소프트웨어 플랫폼간의 인터페이스 확립
- 모듈형 하드웨어 플랫폼 확산
- 하드웨어에 대한 지식이 없어도 응용프로그램 작성 가능
- 더 많은 소프트웨어 인력들이 로보틱스 분야로 진입 가능
- 유저에게 제공할 서비스에 집중 가능
- 실 수요가 있는 서비스 제공으로 유저 계층 형성 및 피드백 가능
- 로봇 개발이 급속도로 발전할 수 있는 계기가 된다.
Chapter 2. 로봇 운영체제 ROS
2강에서는 ROS에 대하여 설명한다.
ROS(Robot Operating System)란
- 로봇 소프트웨어를 개발하기 위한 프레임워크
- 노드간 메시지 교환 방식 -> 복잡한 프로그램을 잘게 나눠 공동 개발이 가능
- 여러가지 시각화, GUI, 시뮬레이션 도구 지원
- 많이 사용되는 모델링, 센싱등의 기능 지원
- 로보틱스 생태계 생성
- ROS는 메타운영체제(Meta-Operating System)이다.
- 메타 운영체제는 이기종 디바이스 간의 통신을 지원하는 운영체제를 의미한다.
- ROS의 특징
- 통신 인프라
- 노드간 데이터 통신 제공
- 미들웨어로 지칭되는 메시지 전달 인터페이스 지원
- 메시지 파싱 기능
- 메시지의 기록 및 재생
- 메시지 사용으로 인한 다양한 프로그래밍 언어가 사용가능함
- 분산 매개변수 시스템
- 로봇 관련 다양한 기능
- 로봇에 대한 표준 메시지 정의
- 로봇 기하학 라이브러리
- 로봇 기술 언어
- 진단 시스템
- 센싱 / 인식
- 내비게이션, 매니퓰레이션
- 다양한 개발 도구
- Command-Line Tools
- RViz
- RQT
- Gazebo
- 통신 인프라
Chapter 3. ROS 개발환경 구축
3강에서는 ROS을 사용하기 위한 설치 및 개발환경 구축에 대해 설명한다.
UBUNTU 18.04에 ROS Melodic을 설치하였다.
ROS를 한줄로 설치하는 방법도 있었지만 왜인지 모르게 환경변수가 맞지 않아 직접 하나씩 하게 되었다.
설치과정은 위 블로그를 참고하였다.
ROS를 설치한 뒤 테스트를 위한 실습을 진행하였다.
실습의 내용은
1. roscore 실행
- ROS가 작동되기 위해 반드시 필요한 과정이다. 가장 먼저 실행하여야 한다.
2. rosrun turtlesim turtlesim_node
- rosrun은 turtlesim 패키지의 turtlesim_node를 실행하기 위한 명령어이다.
- 위 명령어를 실행하면 화면에 TurtleSim창이 나타나게 된다.
3. rosrun turtlesim turtle_teleop_key
- 위 명령어는 turtlesim 패키지에 키보드 입력을 전달하기 위한 노드를 실행하는 명령어이다.
4. rosrun rqt_graph rqt_graph
- rqt_graph 패키지는 하나의 ROSCORE안에서 실행되고 있는 노드들의 관계를 나타내주는 그래프를 보여준다.
실행결과
실습을 진행한 후에 IDE세팅은 VSCode(Visual Studio Code)를 선택했다.
이유는 본인이 사용하는 OS에서도 VScode를 사용했을 때 다양한 Extension과 확장성때문에 잘 사용하고있기 때문이다.
이 3개의 강의를 들으며 몰랐던 ROS의 특징과 탄생배경까지 알게되었으며, 처음부터 실행함으로서 자세히 알 수 있는 계기가 되었다.
강의 출처
1강
- https://www.youtube.com/watch?v=ot_D9N-H4lQ&list=PLRG6WP3c31_VIFtFAxSke2NG_DumVZPgw&index=1
2강
- https://www.youtube.com/watch?v=KcIUl3WH-C8&list=PLRG6WP3c31_VIFtFAxSke2NG_DumVZPgw&index=2
3강
- https://www.youtube.com/watch?v=mRR-3GqVlIU&list=PLRG6WP3c31_VIFtFAxSke2NG_DumVZPgw&index=3
'FOSCAR-(Autonomous Driving) > ROS 스터디' 카테고리의 다른 글
[2023 ROS 스터디] 최지웅 #1주차 - ROS의 기본 (1) | 2023.01.15 |
---|---|
[2023 ROS 스터디] 정혁제 #1주차 - ROS에 대해 알아보자 (1) | 2023.01.15 |
[2023 ROS 스터디] 조영상 #1주차 - ROS설치 (2) | 2023.01.15 |
[2023 ROS 스터디] 임현진 #1주차 - ROS설치 (2) | 2023.01.15 |
[2023 ROS 스터디] 신의석 #1주차 - ROS설치 (1) | 2023.01.15 |