:이 문서에서 제공 http://wiki.ros.org/ROS/Tutorials/UnderstandingTopics
- ROS는 관련된
turtlesim 노드가 이미 실행중인 가정, 새로운 터미널, 다음 제어 노드를 사용하여 실행하는 키보드 명령을 엽니 다
$ rosrun turtlesim turtle_teleop_key
다음과 같이 터미널 창이 뜹니다 :
그것은 거북의 이동을 제어하기 위해 키보드로부터 입력을 읽고 나타낸다.
창 초점을 선정, 당신은 새끼를 이동하려면 키보드의 화살표 키를 사용할 수 있습니다.다음으로 우리는 무슨 일이 있었는지 뒤에이에 분석 할 수 있습니다.
- 이해 ROS 테마 (주제)는
위의 두 노드가 있습니다 turtlesim 및 turtle_teleop_key을, 그들은 ROS 테마를 통해 통신합니다. 키보드 메시지를 클릭에 turtle_teleop_key이 정보를 공개 할 것이다, turtlesim 노드는 키보드 항목을 클릭에 가입하여 정보를받을 수 있습니다.
- 사용 rqt_graph
ROS 뭔가를 실행하는 ROS 시스템을 볼 수있는 시각적 도구, rqt_graph을 제공합니다. 이 도구는 rqt_graph 패키지의 일부입니다, 우리는 다음과 같은 명령으로 패키지를 설치할 수 있습니다.
$ sudo는 apt-get을 ros- 설치 <배포판> -rqt $ sudo를 ros- <배포판> 설치 apt-get을 -rqt - 공통 플러그인
어느, 배포판 ROS 자료는이 튜토리얼 운동 버전을 사용한다.
그런 다음 새 터미널을 실행합니다 :$ Rosrun의 rqt_graph의 rqt_graph
다음 인터페이스가 나타납니다 :
마우스는 다음과 같이 달라집니다 두 개의 타원형 색의 인터페이스 / turtle1 / cmd_vel를 배치하는 경우 :
어떤 빨간색 테마 (주제), 파란색과 파란색 테마 노드를 발표 녹색 노드 (노드), 가입 노드 녹색 테마를 변합니다.
- rostopic
ROS는 주제와 관련된 정보를 볼 수 rostopic 명령을 제공합니다.
다음과 같이 rostopic의 일부 부속 명령은 rostopic -h보기를 사용할 수 있습니다 : -
rostopic 에코
주제 메시지를 인쇄 명령을 에코 rostopic. 구문은 다음과 같습니다 :rostopic 에코 [화제]
우리는 테마에 rqt_graph, 예를 들어,보기 전에 : / turtle1 / cmd_vel, 우리는 뉴스에 항목을 보려면 다음 명령을 사용할 수 있습니다 :
상술 한 바와 같이, 동작
rostopic 에코 / turtle1 / cmd_vel
그 후, 창에서 선택한 노드에 키보드 포커스, 당신은 그 주제 메시지의 내용을 인쇄 할 수 있습니다, 화살표 키를 클릭합니다.
우리가 rqt_graph을 실행하면 이제 다음과 같습니다 :당신은 / turtle1 / cmd_vel 테마를 구독하는 하나 개 이상의 노드를 볼 수 있습니다, 노드는 rostopic 에코 노드입니다.
- 목록 rostopic
다음과 같이 rostopic 목록 명령을 사용, 현재 가입을 나열하거나 주제를 게시 :현재 가입에 -v 옵션과 주제에 대한 완전한 정보를 게시하는 경우 표시됩니다.
- rostopic 형
노드는 이전에 가입 게시 항목으로 통신과 데이터를 송수신하는 메시지 (메시지)는 메시지 콘텐츠의 통신 형태의 동일한 유형을 요구한다.
이러한 유형의 메시지는 사용이 rostopic 유형의 명령 볼 수 있습니다 :
rostopic 유형 [화제]
예를 들어, 우리는 메시지 유형 / turtle1 / cmd_vel을 볼 수 :
메시지 유형의 테마 : geometry_msgs / 트위스트.
당신은 메시지 유형의 데이터 멤버를 보려면 다음 명령을 사용할 수 있습니다 :스파이 @ 스파이-PC : ~ $의 rosmsg 쇼 geometry_msgs / 트위스트 geometry_msgs / Vector3 선형 float64 X float64 Y float64 Z의 geometry_msgs / Vector3 각 float64 X float64 Y float64 Z
메시지 타입은 구조가 두 Vector3 각각 벡터의 종류와 각속도를 포함하는 것을 알 수있다.
- 펍 rostopic
rostopic 펍 명령은 직접 메시지 ROS 주제를 발행 할 수있다. 다음과 같이 명령을 사용합니다 :
rostopic 술집 [화제] [MSG_TYPE] [인수]
예를 들면 :
rostopic 바 -1 / turtle1 / cmd_vel의 geometry_msgs / 트위스트 - '[2.0, 0.0, 0.0]'[0.0, 0.0, 1.8]
이 명령은 / 트위스트 메시지를 게시 geometry_msgs의 유형을 나타냅니다 / turtle1 / cmd_vel 주제는 메시지의 매개 변수에 '[2.0, 0.0, 0.0]는' '[0.0, 0.0, 1.8] 2.0의 전진 속도를 나타냅니다, 각속도 1.8 -1은 메시지를 일단 해제됩니다.
두 개의 대시 - 표현이, 후자는 무차별 같은 기호 예 파라미터를 포함하는 해석 에러를 방지하기 위해 매개 변수가 아니라 옵션이다 파서는 선택에 의해 해결 될 수있다.
이 구문에 대한 자세한 내용은 YAML 구문을 사용하여이 그룹은 참조 YAML 명령 줄 문서를 .
이 명령에서 작은 거북 모바일 인터페이스는 아래와 같이된다 :알 수있는 바와 같이, 작은 거북 대략 1/4 원호 세그먼트의 이동.
작은 거북이를하기 위해 이동을 계속, 우리는 메시지, 정보 주파수 매개 변수의 지속적인 보급의 필요성을 이어갈 필요가 -r 옵션을 사용하여이 매개 변수를 지정, 예를 들어, 다음 문을 사용합니다 :
rostopic 팝 / turtle1 / cmd_vel의 geometry_msgs / 트위스트 -r - 1 '[2.0, 0.0, 0.0]'[0.0, 0.0, -1.8]
우리는 거북이 연속 원 운동을 할 수 있습니다 :
그런 다음 항목을 보려면 rqt_graph 사용
당신은 / turtlesim 노드 / turtle1 / cmd_vel 테마를 게시하는 하나 개 이상의 노드를 볼 수 있습니다.
- 카메라 메시지 데이터
- Hz로는 rostopic
같은 테마의 방출을 볼 수 rostopic Hz의 주파수 명령을 :
rostopic Hz에서 / turtle1 / 포즈 [/ turtle1 / 포즈] 구독 평균 속도 : 62.485 분 : 0.004s 최대 : 0.028s 성병 DEV : 0.00250s 창 (63) 의 평균 속도 : 62.495 분 : 0.004s 최대 : 0.028s 성병 DEV : 0.00180 S 창 (125) 의 평균 속도 : 62.489 분 : 0.004s 최대 : 0.028s 성병 DEV : 0.00149s 창 (188) 의 평균 속도 : 62.495 분 : 0.002s 최대 : 0.029s 성병 DEV : 0.00181s 창 (250) 의 평균 속도 : 62.500 분 : 0.002s 최대 : 0.029s 성병 DEV : 0.00175s 창 (313) 의 평균 속도 : 62.501 분 : 0.002s 최대 : 0.029s 성병 DEV : 0.00190s 창 (375) 의 평균 속도 : 62.501 분 : 0.002s 최대 : 0.029s 성병 DEV : 0.00176 의 창 (438) 평균 속도 : 62.501 분 : 0.002s 최대 : 0.029s 성병 DEV : 0.00166s 창 (501) 의 평균 속도 : 62.501 분 : 0.002s 최대 : 0.029s 성병 DEV : 0.00165s 창 (563) 의 평균 속도 : 62.502 분 : 0.002s 최대 : 0.029s 표준 편차 : 0.00175s 창 (626) 의 평균 속도 : 62.498 분 : 0.002s 최대 : 0.029s 성병 DEV : 0.00178s 창 (688) 의 평균 속도 : 62.501 분 : 0.002s 최대 : 0.029s 성병 DEV : 0.00171s 창 (751) 의 평균 속도 : 62.498 분 : 0.002s 최대 : 0.029s 성병 DEV : 0.00165s 창 (813) 의 평균 속도 : 62.501 분 : 0.002s 최대 : 0.029s 성병 DEV : 0.00159s 창 (876) 의 평균 속도 : 62.500 분 : 0.002s 최대 : 0.029s 표준 편차 : 0.00158s 창 938 평균 속도 : 62.499 분 : 0.002s 최대 : 0.029s 성병 DEV : 0.00153s 윈도우 1001 평균 속도 : 62.499 분 : 0.002s 최대 : 0.029s 성병 DEV : 0.00149s 창 1,064 평균 속도 : 62.500 분 : 0.002s 최대 : 0.029s 표준 편차 : 0.00147s 창 1,126 평균 속도 : 62.499 분 : 0.001s 최대 : 0.032s 성병 DEV : 0.00161s 창 1,189 평균 속도 : 62.499 분 : 0.001s 최대 : 0.032s 성병 DEV : 0.00162s 창 1,251 평균 속도 : 62.499 분 : 0.001s 최대 : 0.032s 성병 DEV : 0.00159s 창 1,314 평균 속도 : 62.501 분 : 0.001s 최대 : 0.032s 성병 DEV : 0.00155s 창 1,376 평균 속도 : 62.500 분 : 0.001s 최대 : 0.032s 표준 편차 : 0.00152s 창 : 1,439 평균 속도 : 62.500 분 : 0.001s 최대 : 0.032s 표준 편차 : 0.00149s 창 : 1,501 평균 속도 : 62.500 분 : 0.001s 최대 : 0.032s 성병 DEV : 0.00147s 창 1,564 평균 속도 : 62.500 분 : 0.001s 최대 : 0.032s 성병 DEV : 0.00145s 창 1,627 평균 속도 : 62.499 분 : 0.001s 최대 : 0.032s 표준 편차 : 0.00142s 창 1,689 평균 속도 : 62.500 분 : 0.001s 최대 : 0.032s 성병 DEV : 0.00140s 창 1,752 평균 속도 : 62.444 분 : 0.001s 최대 : 0.041s 성병 DEV : 0.00155s 창 1,813
알 수있는 바와 같이, 노드는 turtlesim 해제 / turtle1 / 약 62Hz의 주파수에 관한 자세하고 통계적 특성, 최대 및 최소 분산을 제공한다.
- rqt_plot
데이터 메시지를 그릴 것이 명령을 :
rosrun rqt_plot rqt_plot
Rqt_plot 인터페이스는 팝업, 다음과 같은 입력으로 텍스트 상자 인터페이스 뒤에 주제 주제의 이름을 입력합니다 : / turtle1 / 데이터 메시지가 다음 표시됩니다 포즈 / turtle1 / 포즈 주제 곡선을.
- Hz로는 rostopic
- 사용 rqt_graph