티스토리 뷰
ROS Filesystem Level
- Packages :
기초 유닛임. Node와 dependent library, 데이터들, 구성된 파일들, 다른 필요한 것들.
핵심 Build item, release item.
- Metapackages :
다른 패키지들을 대표하는 특별한 packages. 파일들을 포함하지 않으며 패키지들을 loosely하게 그룹시킨다.
- Pacakage Manifests :
package의 메타 데이터로서 이름, 버전, 설명, 라이센스정보, 의존성, 다른 메타데이터를 포함할 수 있다.
package.xml 파일 => package Manifest 파일이다.
- Repositories :
VCS시스템에 공유되어 있는 패키지의 묶음이다.
VCS 시스템이란 : Version Control System 인것같다.
- Message types:
Message 내용으로 my_package/msg/MyMessageType.msg 에 포함되어있다.
- Service types:
Service 내용으로 my_package/srv/MyServiceType.srv 로 서비스의 주고 받는 데이터 구조이다.
ROS Computation Graph Level
- Nodes:
계산을 수행하는 프로세스다. ROS는 작은 여러개의 모듈러로 디자인 되어있으며, 로봇시스템은 많은 nodes로 구성되어있다.
예를 들면 한 노드는 레이저 파인더를 제어하고, 다른노드는 모터를 제어하고, 다른 노드는 위치추적을 하고 다른노드는 길을 예측 하는 식으로 각각의 일을 노드로 나누어서 한다.
- Master:
ROS Master는 name 등록이나 나머지 Computation Graph를 검색한다. Master 없이 노드들 끼리 서로 찾을 수 없으며, 메시지를 교환하거나 서비스를 호출(invoke)할 수 없다.
- Parameter Server:
a central location에 데이터를 각 key에 대해서 저장 할 수 있다.
- Message:
Node끼리 Message를 통해서 통신한다. 메시지는 간단한 데이터 구조로 여러타입의 필드로 구성된다.
가장 기초적인 타입 ( int, float ,boolean 등을 사용할 수 있고) , 기조타입들의 배열도 가능하다.
메시지에 제멋대로 구성된 구조체들(arbitrarily nested structures)과 그에대한 배열도 사용 가능하다. ( C와 같다 )
- Topics :
Message들은 publish 와 subscribe라는 송신 시스템을 통해서 전달된다. 노드는 메시지를 publishing하여 보내는데, 이는 주어진 topic 형식을 맞춘다. topic은 message 내용을 식별시키는 이름이라고 할 수 있다.
Node들이 특정한 분야의 데이터들에게 관심이 있으면, 그 노드를을 적절한 topic을 subscribe하게 한다.
한 토픽에 다수의 publishers와 subscribers가 존재할 수 있으며, 각 노드들은 다양한 토픽들을 subscribe 하거나 publish 할 수 있다. 이론상으로 topic을 타입이 엄하게 정의된 메시지 버스(strongly typed message bus)라고 생각 할 수 있다. 각각의 버스는 이름을 가지고 있고, 누구나 type만 잘 맞추면 접근해서 메시지를 주고 받을 수 있다.
- Services :
publish/ subscribe 모델은 굉장히 유연한 커뮤니케이션 모형이긴 하지만, 다수대 다수, 일방전송이 라는 특성이 때로는 요청 - 대답 방식( 분산시스템에서 주로 사용되는 ) 전송시에는 적절하지 않을 수 있다. 요청 - 대답 방식은 services를 통해서 할 수 있는데 이는 2개의 message structures로 이루어져있다. 하나는 request고 하나는 reply다. node가 service를 한 name에 발행하면 그 노드가 request message를 보내고 reply를 기다린다.
- Bags :
Bags는 ROS 메시지 데이터를 재 실행하거나 저장하기 위한 포멧이다. Bags은 데이터를 저장한다. ( 센싱데이터 같은 데이터)
-- 설명
ROS Master 는 nameservice 같은 역활을 하고 (“ 누가 이름이 무엇이다 라는 것을 지칭해주는 “) topics 와 services 의 등록 정보를 가지고 있다. 노드는 그들의 등록 정보를 마스터에 전송한다. 노드들이 Master를 통해서 통신을 할때 각각 서로 통신할 노드들의 등록정보를 Master를 통해 받은뒤 서로 연결하여 통신한다. 각 노드들의 등록 정보가 바뀌면 유동적으로 연결시켜준다.
TCPROS => ROS에서 사용하는 TCP/IP 소켓 통신이다.
ROS에서는 name이 굉장히 중요하고, 모든 ROS client library는 command-line remapping of names를 지원한다.
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- C# 속으루..
- 블로그 개설
- 창숨김 다운
- C 책
- C#입문
- 2000au
- C# 책
- 블로그
- USB
- readonly
- ipTIME
- 창숨김 프로그램
- ROS2
- c#초보
- iptime 2000au
- 책 소개
- 블로그 공지
- C#책
- 블로그 이야기
- c#.net
- 창숨기기 프로그램
- robot
- ubuntu
- ROS2 설치
- 창숨기기
- c#ㄱㄱ
- 창숨김
- Node
- c#
- 디스크 쓰기 금지되어 있습니다
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함