我想在我的代码中获取当前可用的主题,以便我可以相应地设置发布者和订阅者。我知道命令&rostopic list'会显示这个,但我希望在程序运行时获取信息。
有没有API可以做到这一点?
答案 0 :(得分:4)
在Gabor Meszaros的回答后编辑。
您可以找到ROS C ++ API参考(roscpp)here和 - 在Python中 - 您可以在ros::master小节中找到getTopics
方法。
以下是如何使用它的示例代码:
ros::master::V_TopicInfo master_topics;
ros::master::getTopics(master_topics);
for (ros::master::V_TopicInfo::iterator it = master_topics.begin() ; it != master_topics.end(); it++) {
const ros::master::TopicInfo& info = *it;
std::cout << "topic_" << it - master_topics.begin() << ": " << info.name << std::endl;
}
答案 1 :(得分:1)