Skip to content

ROS2 custom service #379

@ArjanVroegop

Description

@ArjanVroegop

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

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions