이번 시간에는 또다른 Node간 통신 메커니즘인 Service에 대해 배워보겠습니다.

New Robot 예제


항상 그랬던 것처럼, 예제를 실행시켜봅시다!!

$ cbp py_service_pkg

# Windows
> colcon build --symlink-install --packages-select py_service_pkg
> install\\setup.bat

<aside> 💡 강의 대비 실행 output이 변경되었습니다!!

</aside>

# Terminal 1
$ rosfoxy
$ ros2 launch gcamp_gazebo gcamp_world.launch.py
# gazebo 시뮬레이션이 완전히 켜질때까지 기다려 주세요!!

# Terminal 2
$ rosfoxy
$ ros2 run py_service_pkg gazebo_model_spawner
[INFO] [1626790225.961332753] [gazebo_model_spawner]: ==== Service Call Done ====
[INFO] [1626790225.961729384] [gazebo_model_spawner]: Status_message : SpawnEntity: Successfully spawned entity [skidbot2]
[WARN] [1626790225.962137716] [gazebo_model_spawner]: ==== Shutting down node. ====

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/f726468f-4838-4be1-9793-2fbd8caad132/Untitled.png

사진과 같이 빨간 로봇이 등장했나요? 🗿

지금 우리는 gazebo_rosService Server에게 새로운 로봇을 등장시켜 달라는 Request를 한것입니다!!

# terminal 1
$ rosfoxy
$ ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args -r __ns:=/skidbot2

# terminal 2
$ rosfoxy
$ ros2 run teleop_twist_keyboard teleop_twist_keyboard --ros-args -r __ns:=/skidbot

⇒ 🚙 각 터미널에 커서를 두고, 조종해보세요 🚗