앞에서는 메시지파일부터 노드등 다 직접 만들어서 사용하였는데 ,
물론 그렇게 해야 할 수도 있지만, 기존에 있는 패키지나 노드 , 메시지등 가져와서 사용하는 경우가 많다.
이때 이 패키지가 어떤 메시지를 사용하고 , 어떤 데이터를 받아오며 , 어떤데이터를 보내는지 등
패키지 내용을 알아야 사용할 수 있다.
이때 노드가 적을 수도 있고 , 많을 수도 있는데 많을경우 이 많은 노드에 일일이 들어가며 확인 할 순 없으니 ,
대략적은 분석을 하기 위한 명령어가 존재한다.
이는 메시지가 topic 일때 , service일때 조금 다르며,
아래에서 하나씩 실행해보며 보려한다. 많은 명령어가 있지만 , 자주 쓰이는 명령어들이다.
먼저 roscore는 켜 놓는다..
그리고 launch 파일을 켜던지 노드 하나를 켜고,
** rostopic list
내가 켠 노드가 topic 을 사용하고 있다면 위 처럼 토픽명이 출력된다. (node명 x)
(/rosout , /rosout_agg 는 기본 출력)
** rostopic info /토픽명
Type : 메시지파일명 ( 경로 )
그 아래로 켜져 있는 노드 정보 나옴 (yh_topic 을 사용하고 있는)
/pub_test 퍼블리셔가 실행되고 있고
Subscriber 노드는 실행되지 않고 있다.
** rostopic echo /토픽명
임시 Subscriber가 되어 현재 Publisher에서 발행하는 데이터 받아옴.
~~ publisher 와 subscriber 다 켜 있는 상태에서
** rqt_graph
service
노드 파일을 켜고!
**rosservice list
/hamburger 란 서비스가 있음
**rosservice info /서비스명
hamburger 서비스 정보
node : 현재 켜져있는 노드
Type: 메시지파일
Args: 서비스 요청시 필요 내용용
** rosservice call /서비스명 args
임시로 client를 만들어 요청을 하고 server로 부터 응답 받는다.
args : 위에서는 숫자 두개를 요청해야 응답이 오게끔 되어 있음.
**rqt
위 화면에서 hamburger 서비스 내용이 나오고 , 변수 , 메시지타입 확인 가능
Expression 값을 조정하여 위의 Call 을 누를시 아래 Response에서 응답함
'IT 프로그래밍 관련 > ROS' 카테고리의 다른 글
ROS 패키지 생성하기(한 노드에 여러기능 ) (0) | 2021.06.17 |
---|---|
ROS launch 파일 만들기 (0) | 2021.06.11 |
ROS 패키지 생성하기(ServiceServer, ServiceClient, Service사용) (0) | 2021.06.09 |
ROS 패키지 생성하기(Publisher, Subscriber, Topic사용) (0) | 2021.06.08 |
ROS 패키지 디렉토리 (0) | 2021.06.08 |
댓글