1. 메시지

 

  - 파일형태
    msg 파일 
    토픽에 사용되는 메시지파일, 확장자 : *.msg

  - srv 파일 
    서비스에 사용되는 메시지파일, 확장자 : *.srv
    상위메시지: 서비스 요청 메시지, 하위메시지: 서비스 응답 메시지

  - action 파일 
    액션에 사용되는 메시지파일, 확장자 : *.action
    상위 메시지: goal (목표), 중간 메시지 : result, 
    하위 메시지 : feedback(중간결과값)

 

 

 2. 네임

 

  - 노드와 메시지(토픽, 서비스, 액션, 파라미터)가 가지는 고유의 식별자
  - 마스터에 등록하고 네임을 기반으로 검색
  - 다른 유형의 네임과 중복되어도 무방함

    ex) 토픽에 A라는 네 임을 가진 요소가 있고, 서비스에 A라는 네임을 가진 요소가 있어도 무방
  - 네임을 선언하는 방식에 따라 Relative(기본), Global, Private로 나뉨
    ex) ros::Publisher node1_pub = nh.advertise<std_msg::Init32>(“노드이름”,10);
        Relative : ros::Publisher node1_pub = nh.advertise<std_msg::Init32>(“bar”,10);
        Global : ros::Publisher node1_pub = nh.advertise<std_msg::Init32>(“/bar”,10);
        Private : ros::Publisher node1_pub = nh.advertise<std_msg::Init32>(“~bar”,10);

 

 3. 좌표변환 (TF) 

 

  - 사진속의 로봇이 이동하게 되면 로봇의 좌표는 각 상관 관계가 있 는 관적들의 상대 좌표 변환에 따라 이동하게 되는 원리,

로봇 프로그래밍에서 좌 표 변환을 통한 각 로봇의 관절 이용은 매우 중요하며 ROS에서는 이것을 Transforn의 약자인 TF라고 함

 

 

 4. 다양한 클라이언트 라이브러리 지원


  - roscpp(C++), rospy(python), roslisp(Lisp) rosjava(java)
  - roscs, roseus, rosgo, roshask, rosnodejs, RobotOS.jl, roslua, PhaROS, rosR, rosruby, Unreal-Ros-Plugin 등

 

 

 5. 이기종 디바이스간의 통신

 

  - 운영체제와 상관없이 ROS가 설치되어 노드가 개발된 상태라면 노드들 간의 통신 가능
ex) 임베디드 시스템인 마이크로컨트롤러 기반의 디바이스라도 ROS 메시지 송수신 받을 수 있다면 로봇 제어에서 많이 사용하는 제어기 레벨에서도 메시지 통신 가능

 

'SW > ROS' 카테고리의 다른 글

ROS의 도구  (0) 2023.11.02
ROS의 명령어  (2) 2023.11.02
ROS의 메시지 통신  (0) 2023.11.02
ROS 의 개념  (2) 2023.11.02
ROS 개발환경 구축하기  (3) 2023.11.02

 

 1. Topic

 

  - Topic : ‘이야깃거리’라는 뜻으로 마스터에 등록할 내용
  - Publisher : 메시지형태의 데이터 송신
  - Subscriber : 메시지형태의 데이터 수신

 

  - 한 번의 접속으로 지속적인 송수신 가능
  - 목적에 따라서 1:1, 1:N, N:1, N:N 통신 가능

        

 

 

 2. Service 

 

  - Service : 서버와 클라이언트 간의 동기적 양방향 서비스 메시지 통신
  - Service server : 요청을 입력받고 응답을 출력
  - Service client : 요청을 출력하고 응답을 입력
    이 때, 요청과 응답의 형태는 메시지 형태

 

   - 요청이 있을 때만 응답하는 형식
   - 일회성 메시지 통신으로, 서비스의 요청에 따른 응답이 완료될 경우 접속은 끊어진다.
   - 명령어로 많이 사용되거나 특정 조건에 따른 이벤트가 필요한 상황에 사용된다.

 

 

 3. Action

 

  - Action : 비동기식 양방향 통신, 요청 후 응답까지 오랜 시간이 걸리며 중간 결과값이 필요한 경우 사용된다.
  - Action Server : 목표를 입력받고 결과 및 피드백(중간결과값)을 출력
  - Action client : 목표를 전달하고 결과 및 피드백을 전달받음

 

  - 메시지 전송방식은 비동기식 방식인 토픽과 동일하다.
  - 서비스와 달리 목표 수행 도중 목표를 취소하는 명령어 전달 가능 – 로봇의 업무 지시 등에 활용가능하다.

 

 

 4. 메시지 통신 비교

 

 

5. 파라미터

 

  - Paremeter : 노드에서 사용되는 파라미터 
  - Paremeter Server : 각 파라미터를 등록하는 서버

'SW > ROS' 카테고리의 다른 글

ROS의 명령어  (2) 2023.11.02
ROS의 콘셉트  (0) 2023.11.02
ROS 의 개념  (2) 2023.11.02
ROS 개발환경 구축하기  (3) 2023.11.02
딥러닝 패키지와 ROS 설치  (1) 2023.11.01

+ Recent posts