问题描述
在c ++和ros2中,是否可以在不知道主题类型的情况下订阅主题?如果是这样,并且收到一条消息,是否有可能再次对消息进行内部检查,而又不知道其类型?意思是,ros2消息是否是自描述的(例如FlexBuffer消息)?
解决方法
不,ros2 消息不是自描述的,因为它们被二值化以提高吞吐量。因此,您不仅需要 .msg/.idl 描述文件,还需要将其编译为消息描述,然后才能解释消息。
ros2 接口的概念在这里描述:https://docs.ros.org/en/foxy/Concepts/About-ROS-Interfaces.html