如何在 ROS 服务请求中定义可选参数

How to define optional arguments in ROS service request

我想在我的 ROS 服务请求中定义可选参数,.srv 文件如下所示:

abb_rapid_msgs/RobTarget pickpoint
abb_rapid_msgs/RobTarget placepoint
bool leftarm
# Optional Parameters
abb_rapid_msgs/RobTarget pickappoint
abb_rapid_msgs/RobTarget placeappoint
float32 speed
---
bool success

并且我想检查是否传递了这些可选参数中的一个或多个以便调用通信者 ServiceProxy

你能告诉我该怎么做吗?提前致谢。

遗憾的是,服务或消息文件中不支持可选字段;不过,它已经被提议过几次了。

相反,您可以将另一个字段添加到您的 srv 以用作位向量。新字段可用于指定设置哪些其他“可选”字段并相应地使用它们的值。