ros2
network_error
ai_generated
true
ros2 service call /my_service my_msgs/srv/MyService "{}" --timeout 5:服务调用在5秒后超时
ros2 service call /my_service my_msgs/srv/MyService "{}" --timeout 5: Service call timed out after 5 seconds
ID: ros2/ros2cli-service-call-timeout
90%修复率
87%置信度
1证据数
2023-09-01首次发现
版本兼容性
| 版本 | 状态 | 引入 | 弃用 | 备注 |
|---|---|---|---|---|
| ros2-humble | active | — | — | — |
| ros2-iron | active | — | — | — |
| ros2-rolling | active | — | — | — |
根因分析
服务服务器未运行,或由于高负载或QoS设置,网络延迟超过超时值。
English
The service server is not running, or the network latency exceeds the timeout value due to high load or QoS settings.
官方文档
https://docs.ros.org/en/rolling/Tutorials/Intermediate/CLI-Intro.html解决方案
-
检查服务服务器节点是否运行:ros2 node list | grep my_service_server。如果未运行,启动服务器节点。
-
使用'ros2 service type /my_service'验证服务类型是否匹配;如果不匹配,在调用中更正服务类型。
无效尝试
常见但无效的做法:
-
80% 失败
If the server is not running, it will never respond; timeout just delays failure detection.
-
50% 失败
Service list may show stale entries; the server may have crashed after discovery.