/kb/events
#
Caution
This documentation page has been auto-generated.
It may be missing some details.
/kb/events
Quick Facts
- Category
- Message type
knowledge_core/Event
Allow to subscribe to events by providing a (set of) partially-bound triples. Calling the service returns an event
id
. Subscribe then to/kb/events/<id>
to be notified everytime a new instance/class match the provided pattern.
See KnowledgeCore documentation for details.
Quick snippets#
$ rosservice call /kb/events knowledge_core/Event
# (tip: press Tab to complete the message prototype)
How to use in your code#
1#!/usr/bin/env python
2
3import rospy
4from knowledge_core.srv import *
5
6if __name__ == "__main__":
7
8 rospy.wait_for_service("/kb/events")
9
10 try:
11 proxy = rospy.ServiceProxy("/kb/events", Event)
12 response = proxy(args...) # check the knowledge_core/Event message type for the expected arguments
13 rospy.loginfo(response)
14
15 except rospy.ServiceException as e:
16 rospy.logerror("Service call failed: %s" % e)
1#include "ros/ros.h"
2#include <knowledge_core/Event.h>
3#include <iostream>
4
5using namespace ros;
6
7int main(int argc, char **argv)
8{
9 ros::init(argc, argv, "kb/events_client");
10
11 NodeHandle n;
12 ServiceClient client = n.serviceClient<knowledge_core::Event>("/kb/events");
13 knowledge_core::Event srv;
14
15 // TODO: adapt to the service parameters
16 // srv.request.a = ...;
17 // srv.request.b = ...;
18
19 if (client.call(srv))
20 {
21 // TODO: do something with the result
22 // srv.response....;
23 }
24 else
25 {
26 ROS_ERROR("Failed to call service /kb/events");
27 return 1;
28 }
29
30 return 0;
31}