ROS Service Client

예제 따라하기:

따라하기: ROS Topic Subscriber Example

매개변수 설정과 함께 프로그램 시작 프로세스가 모두 단순화되었으며 Jupyter Notebook 환경에서 설정됩니다.
  • 02_01_ros_service_client.ipynb Jupyter Notebook을 엽니다.
  • 필요한 Python 라이브러리 및 모듈을 가져옵니다.
  • 예제 코드를 따라 실행해보세요.
(이 예시에 사용된 Jetson 보드는 'Jetson Nano' 입니다.)

Jupyter Notebook 열기:

  • 02_01_ros_service_server.ipynb

  • 노트북 내에서 셀을 실행하려면 Ctrl + Enter 를 사용하세요.

  • Import print_function from __future__ module for Python3 compatibility

  • Import AddTwoInts, AddTwoIntsResponse from rospy_tutorials.srv module

  • Import rospy modules

from __future__ import print_function
from rospy_tutorials.srv import AddTwoInts,AddTwoIntsResponse
import rospy
  • Create handle_add_two_ints() function

  • Output req.a, req.b, req.a + req.b

  • Return instances of req.a + req.b in AddTwoIntsResponse

def handle_add_two_ints(req):
    print("Returning [%s + %s = %s]"%(req.a, req.b, (req.a + req.b)))
    return AddTwoIntsResponse(req.a + req.b)
  • Create add_two_ints_server() function

  • Create add_two_ints_server Node

  • Create add_two_ints Service

def add_two_ints_server():
    rospy.init_node('add_two_ints_server')
    s = rospy.Service('add_two_ints', AddTwoInts, handle_add_two_ints)
    print("Ready to add two ints.")
    rospy.spin()
  • Execute the add_two_ints_server() function

add_two_ints_server()