티스토리 뷰
서비스는 서버가 클라이언트의 요청 request에 응답하는 것이다.
파이썬 코딩에서
사용할 데이터 타입을 우선 import 해야함
ros2 service list -t
서비스와 데이터 타입을 보고 사용할 형식을 찾음
클라이언트 노드 만들기
import rclpy as rp
from turtlesim.srv import TeleportAbsolute
rp.init()
test_node = rp.create_node('client_test')
service_name = '/turtle1/teleport_absolute'
cli = test_node.create_client(TeleportAbsolute, service_name)
req = TeleportAbsolute.Request()
cli.call_async(req)
rp.spin_once(test_node)
노드 만들고 test_node = rp.create_node('client_test')
서비스 보내는 클라이언트 만들고 (.create_client 함수의 리턴값을 변수 cli에 저장)
cli = test_node.create_client(서비스타입, 서비스이름) 서비스 서버를 쓰겠다, 클라이언트 하겠다... 는 의미
req 만듦
- req = TeleportAbsolute.Request()
- TeleportAbsolute에는 Request와 Response가 있기에 req에 요청부분을 할당
<클라이언트>.call_async(req) 함수 실행
더보기
서비스 전달 준비 될 때까지 기다리기
while not cli.wait_for_service(timeout_sec = 1.0):
print("waiting")
cli.call_async(req)
rp.spin_once(test_node)
'전공 > ROS' 카테고리의 다른 글
ROS2 메시지 패키지 만들기, 메시지 정의하기 (0) | 2024.11.13 |
---|---|
ROS2 발행 노드 publisher 만들고 실행해보기 2 (0) | 2024.11.12 |
ROS2 구독 노드 subscriber 만들고 실행해보기 1 (0) | 2024.11.11 |
wsl2 ROS2 humble 우분투 22.04 설치 , 초기 설정, VcXsrv 설정 방법 (3) | 2024.11.10 |
ROS2 패키지 만들기 (1) | 2024.11.09 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 알뜰폰요금제
- 카카오페이
- f-91w
- 방어동작
- 문서 스캔
- 방향장
- 알리익스프레스
- 배송기간
- 할인
- a모바일
- 리브모바일
- 10만포인트
- 북문
- 티스토리챌린지
- f-94w
- Liiv M
- 맛집
- 경북대
- 카시오
- 리브엠
- 메쉬 밴드
- 파스타
- 알뜰 요금제
- 시계 줄
- mealy
- 교체
- 타란튤라
- 오블완
- 네이버페이
- 계산방법
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함