ROS에 들어가기 앞서서 우선적으로 생각해 볼 것
Personal Computer와 Personal Phone의 공통점
1. 누구나 하나쯤은 보유하고 있는 대중화 제품이다.
2. 다양한 하드웨어의 결합이 가능한 하드웨어 모듈이다.
3. 운영 체제(operating system) + 애플리케이션(app)
생태계란 무엇일까?
하드웨어 모듈 + 운영 체제 + 앱(서비스) + 유저
이 네가지 요소가 있어야 대중화 된 제품이 될 수 있다.
보이지 않는 생태계의 분업
Personal Phone을 예로 들었을 때 예전에는 모든 것을 한 회사에서 다 만들었다. 즉 모듈화가 되어있지 않았다.
또한 운영 체제조차 없었다. 즉 펌웨어 중심이었다.
이는 Personal Computer도 마찬가지이다.
요즘은 하드웨어 모듈, 운영 체제, 앱(서비스) 유저간의 보이지 않는 생태계의 분업이 이루어지고 있다.
소프트웨어 플랫폼(운영 체제)이 가져온 변화
1. 하드웨어 인터페이스 통합
2. 하드웨어 추상화·규격화·모듈화
3. 가격 ↓ 성능 ↑
4. 하드웨어·운영 체제·애플리케이션 분리
5. 사용자 수요에 맞는 서비스에 집중
6. 유저 증가, 구매와 피드백, 새로운 생태계의 순환 구조 형성
로봇 소프트웨어 플랫폼이 가져올 미래
1. 하드웨어 플랫폼과 소프트웨어 플랫폼간의 인터페이스 확립
2. 모듈형 하드웨어 플랫폼 확산
3. 하드웨어에 대한 지식이 없어도 응용 프로그램 작성 가능
4. 더 많은 소프트웨어 인력들이 로보틱스 분야로 진입, 로봇 제품에 참여 가능
5. 유저에게 제공 할 서비스에 집중
6. 실수요가 있는 서비스 제공으로 유저 계층 형성 및 피드백
7. 로봇 개발이 급속도로 발전 할 수 있는 계기
그렇다면 ROS란?
오픈 소스를 기반으로 한 로봇 소프트웨어를 개발하기 위한 소프트웨어 프레임워크이다.
ROS의 진정한 목적은 로보틱스 소프트웨어 개발을 전세계 레벨에서 공동 작업이 가능하도록 생태계를 구축하는것이다.
ROS는 새로운 운영 체제인가?
ROS(Robot Operating System)는 엄밀히 따졌을 때 운영체제가 아닌 메타운영체제(Meta-Operating System)이다.
메타운영체제는 일반적인 운영체제 위에서 동작하며, 여러 장치와 소프트웨어 간의 상호작용을 관리하고 조율하는 시스템이다. 쉽게 말해서, 메타 운영체제는 여러 운영체제나 프로그램들을 하나로 묶어주는 관리자 역할을 하는 것이다.
메타운영체제를 사용하는 이유는 원하는 하드웨어의 원하는 운영 체제에 Ros를 설치하여 이기종 디바이스 간의 통신지원이 가능하게 하기 위해서이다.
ROS를 사용가능한 운영체제(OS)
Ubuntu, OS X, Windows, Fedora, Gentoo, OpenSUSE, Debian, Raspbian, Arch등이 있다.
스마트폰 운영체제인 Android, iOS의 경우 부분적 사용이 가능하다.
로봇 운영체제 ROS 특징
1. 통신 인프라
- 메세지 파싱 기능
- 메세지의 기록 및 재생
- 메세지 사용으로 인한 다양한 프로그래밍 언어 사용 가능
- 분산 매개 변수 시스템
2. 로봇 관련 다양한 기능
- 로봇에 대한 표준 메세지 정의
- 로봇 기하학 라이브러리
- 로봇 기술 언어
- 진단 시스템
- 센싱/인식
- 내비게이션
- 매니퓰레이션
3. 다양한 개발 도구
- Command-Line Tools
ROS에 제공되는 명령어로만 거의 모든 ROS 기능 소화
- Rviz
강력한 3D 시각화툴을 제공
- RQT
그래픽 인터페이스 개발을 위한 QT 기반 프레임 워크 제공
- Gazebo
3차원 시뮬레이터
ROS 설치하기
https://wiki.ros.org/noetic/Installation/Ubuntu
다음 링크에 들어가 순서대로 진행하면 된다.
ROS 동작 테스트
ROS 동작 테스트를 마지막으로 ROS 1주차 스터디를 마쳤습니다.
'FOSCAR-(Autonomous Driving) > ROS 스터디' 카테고리의 다른 글
[2024 ROS 스터디] 반제호 #1주차 - ROS를 왜 사용할까? (0) | 2024.07.06 |
---|---|
[2024 ROS 스터디] 초라핀스카 베로니카 #1주차 - ROS 소개 및 설치 (0) | 2024.07.03 |
[2024 ROS 스터디] 민경서 #4주차 - SLAM과 NAVIGATION (0) | 2024.02.20 |
[2024 ROS 스터디]이준호 #4주차 - SLAM + 네비게이션 (0) | 2024.02.20 |
[2024 ROS 스터디]정주광 #4주차 -SLAM과 내비게이션 (0) | 2024.02.20 |