이번 시간에는 또다른 Node간 통신 메커니즘인 Service에 대해 배워보겠습니다.
항상 그랬던 것처럼, 예제를 실행시켜봅시다!!
$ 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. ====
사진과 같이 빨간 로봇이 등장했나요? 🗿
지금 우리는
gazebo_ros
의 Service 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
⇒ 🚙 각 터미널에 커서를 두고, 조종해보세요 🚗