-
Notifications
You must be signed in to change notification settings - Fork 341
Description
Description
This problem occurs using ROS2 Humble on Ubuntu 22.04.
I am implementing a custom ROS2 service server with a custom interface in ActionGraph.
My ActionGraph is simple:
- ROS2 Context (Context out connected to both ROS2 service server request and response)
- On Playback tick (Tick out connected to Ros2 service server request)
- ROS2 Service Server Request ( On received and server handle connected to ros2 service server response)
- ROS2 Service Server Response
My custom .srv file looks like this (please ignore names and data types, this is just an example):
# request fields
int32 distance
float32 speed
---
# response fields
The 'request distance' and 'request speed' field show up in the server request node, so I conclude that the .srv / ROS2 workspace has been built correctly and everything is sourced properly.
I call the server from terminal with this command:
ros2 service call /my_service my_interfaces/srv/MoveDistance "{speed: 1.3, distance: 1}"
This is what I see in the terminal:
requester: making request: my_interfaces.srv.MoveDistance_Request(distance=1, speed=1.3)
response:
my_interfaces.srv.MoveDistance_Response()
In IsaacSim, I can see that the distance value (int32) is changed into 1, as expected. The speed value (float32) causes an error:
2025-12-22T13:11:01Z [1,128,298ms] [Error] [isaacsim.ros2.bridge.plugin] Unable to write float value (nil)
2025-12-22T13:11:01Z [1,128,299ms] [Warning] [isaacsim.ros2.bridge.plugin] service package information changed. Updating OgnROS2ServiceServerResponse node interface.
Is this a bug, or is it something I'm doing wrong?
Isaac Sim version
5.1.0
Operating System (OS)
Ubuntu 22.04
GPU Name
RTX A5000
GPU Driver and CUDA versions
Driver 550.163.01 Cuda 12.4
Logs
No response
Additional information
No response