Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
doc:writing_an_interface_to_your_perception_system [2014/11/27 13:23] – [Subscriber] admin | doc:writing_an_interface_to_your_perception_system [2014/11/27 14:54] – [Perception service] admin | ||
---|---|---|---|
Line 102: | Line 102: | ||
Whenever the subscriber is started, it creates the KnowRob-internal representations for all object detections that are received via the topic. It can be run from Prolog via the [[http:// | Whenever the subscriber is started, it creates the KnowRob-internal representations for all object detections that are received via the topic. It can be run from Prolog via the [[http:// | ||
- | < | + | < |
obj_detections_listener(Listener) :- | obj_detections_listener(Listener) :- | ||
- | jpl_new(' | + | jpl_new(' |
- | jpl_call(Listener, | + | jpl_list_to_array(['org.knowrob.tutorials.DummySubscriber' |
+ | jpl_call(' | ||
</ | </ | ||
- | If the dummy publisher | + | To start a rosjava node from KnowRob, you first need to instantiate the class containing the node definition, create an array with the fully-qualified class name, and pass it to the '' |
- | < | + | < |
?- obj_detections_listener(L). | ?- obj_detections_listener(L). | ||
- | L = @'J#00000000000173056232'. | + | L = @'J#00000000000034668496' |
- | Attaching 0x8afd1010 | + | % ... several rosjava INFO messages ... |
- | <wait for a few seconds...> | + | % wait for a few seconds... |
?- owl_individual_of(A, | ?- owl_individual_of(A, | ||
- | A = ' | + | A = knowrob:' |
- | A = ' | + | A = knowrob:' |
- | A = 'http:// | + | A = knowrob:' |
+ | A = knowrob:' | ||
- | ?- current_object_pose(' | + | ?- current_object_pose(knowrob:' |
P = [1.0, | P = [1.0, | ||
</ | </ | ||
Line 130: | Line 132: | ||
===== Perception service ===== | ===== Perception service ===== | ||
- | The dummy perception service is very similar to the dummy publisher. Whenever a request for an object detection is received, it responds with a simulated detection of a random object type at a random pose. In real scenarios, the request will probably not be empty, but specify properties of the perception method to be used. The code of the dummy service can be found in the file src/ | + | The dummy perception service is very similar to the dummy publisher. Whenever a request for an object detection is received, it responds with a simulated detection of a random object type at a random pose. In the example, the ' |
< | < | ||
rosrun knowrob_perception_tutorial dummy_service | rosrun knowrob_perception_tutorial dummy_service |