3. OS (Operating System) 이란?
컴퓨터에 설치되어있는 Windows, Ubuntu, Linux 등
은 모두 운영체제
컴퓨터를 작동시킬 수 있도록 해 주는 프로그램이 똘
똘 뭉친 커다란 프로그램
그런데!!!!
운영체제 위에 운영체제를 또 설치한다?????
ROS는 특별한 운영체제 (Meta-Operating System)
로봇을 작동시킬 수 있도록 해 주는 프로그램이 똘똘
뭉친 추가적인 프로그램들의 모음집! (프레임워크)
4. Robot Operating System?
현 ROS의 주요 대상 로봇 컴퓨터가 장착된 복잡한
로봇
컴퓨터라고 하는 것은 Raspberry pi 등 Linux 컴퓨터
이러한 복잡한 로봇을 만들 때에는 장치 드라이버,
소프트웨어 구조 등 다양한 설계를 진행해야 함.
ROS는 그 단계를 제공해 주어 더욱 고급진 개발을 가
능하게 만들어줌!
5. 가장 기본적인 ROS의 기능
통신을 추상적으로 이용할 수 있도록 제공
TCP/IP 통신을 귀찮은 소켓, server, client 설정 필요
없이 추상적인 개념으로 사용 가능!
하드웨어 드라이버 패키지 제공 (Camera driver,
Dynamixel, etc…)
다양한 라이브러리 포함 (OpenCV 등…)
rqt, rostopic 등… (모니터링 도구)
6. ROS의 추상적인 통신 개념?
Talker, Listener라는 개념을 적용
Talker는 말하는 사람. Listener는 듣는 사람.
Topic은 주제, Message는 말
기존 TCP 통신 방식
소켓생성 주소할당 요청대기 연결 허용 데
이터 교환 연결 종료 (Server)
소켓생성 연결 데이터송수신 연결종료 (Client)
ROS의 통신 방식
Talker가 Topic을 정함 Listener가 듣고 싶은 Topic을
선택 Talker가 Topic에 관한 말을 할 때마다 Listener
는 Talker가 말하는 데이터 수신
추상적 통신 구성 관리자: roscore (ROS Master)
7. 잠깐! 용어 설명 들어갑니다~
Talker: 말하는 것
Listener: 듣는 것
Topic: 주제
Message: 말
Node(노드): 프로그램 (Talker와 Listener를 포함할
수 있음)
Package(패키지): 여러 가지 노드를 포함하는 프로젝
트
9. 통신을 로봇에 사용해야 하는
이유
로봇은 하드웨어에 많은 연관이 있음
한 번 만든 하드웨어에게 다른 곳으로 이식할 수 있
는 driver(소프트웨어)를 만들어 생산성 증대!
= 모듈화된 하드웨어 플랫폼 사용
각각의 모듈화된 소프트웨어들이 통신하며 원하는
것 만 가져다 사용
모듈화된 구조로써 추후에 개발시간을 단축하고, 새
로운 부분을 적용하기 쉬움!
외부 컴퓨터로의 연결 및 모니터링도 자유로움
궁극적인 목표 >>> 로봇 생태계 구축 (나눠서 일해요
~)