- OS : Ubuntu 22.04
- ROS 2 Humble
- Gazebo 11
1. 서비스 서버 만들기
1. 코드 생성
from my_first_package_msgs.srv import MultiSpawn
import rclpy as rp
from rclpy.node import Node
class MultiSpawning(Node):
def __init__(self):
super().__init__('multi_spawn')
self.server = self.create_service(MultiSpawn, "multi_spawn", self.callback_service)
def callback_service(self, request, response):
print('Request : ', request)
response.x = [1., 2., 3.]
response.y = [1., 20., 30.]
response.theta = [100., 200., 300.]
return response
def main(args=None):
rp.init(args=args)
MultiSpawn = MultiSpawning()
rp.spin(MultiSpawn)
rp.shutdown()
if __name__ =='__main__':
main()
- my_first_package에 my_service_server.py 만들기
- create_service로 MultiSpawn 데이터 타입의 multi_spawn 생성
- 누군가가 서비스를 request한다면 콜백함수

3. 빌드 후 환경 부르기

4. service list 확인

5. service call 테스트
