在运行时获取ROS中服务的定义

问题描述

晚上好

我正在寻找一种解析消息和服务定义文件的方法。理想情况下,我想给定一个提供服务名称的函数,该函数可以为我提供C ++结构的表示形式,在我自己实现该函数之前,很高兴知道是否有任何标准的ROS2 API已经提供了该功能。

如果以https://index.ros.org/doc/ros2/Tutorials/Writing-A-Simple-Cpp-Service-And-Client/教程为例,则该函数将作为输入 字符串字符串“ add_two_ints”,并返回可能输入的抽象语法树。在本教程的情况下,我可以指定一些具有int64 a和int64 b字段的结构,然后将其发送到服务器。

这个想法是通过反思获得给定任何服务器的AST。知道是否可以以编程方式检查所有现有服务器也是很好的选择。

也可以手动解析文件(.srv文件),但这会带来递归问题(例如,如果请求中有Twist数据类型该怎么办)。有什么解决方案可以解决这个问题?

我们的目标是使用ROS2和C ++的解决方案。

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...