Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
doc:flow_chart_visualization [2013/04/22 08:49] – created admindoc:flow_chart_visualization [2014/08/08 09:47] (current) – [Flow chart visualization] admin
Line 1: Line 1:
 ====== Flow chart visualization ====== ====== Flow chart visualization ======
 +
 +\\
 +**Note: This page describes experimental code that has not been used in a while. Please try it at your own risk.**
 +\\
  
 The flow chart visualizer allows to load SVG files and to define actions that are to be taken when the user clicks on the elements in the graphics. It is designed as a convenient way of showing processing pipelines and calling processing steps. All rectangular shapes can be turned into click-sensitive areas by defining (in a .yaml file accompanying the .svg) which action is to be taken when the user clicks on the respective element. The flow chart visualizer allows to load SVG files and to define actions that are to be taken when the user clicks on the elements in the graphics. It is designed as a convenient way of showing processing pipelines and calling processing steps. All rectangular shapes can be turned into click-sensitive areas by defining (in a .yaml file accompanying the .svg) which action is to be taken when the user clicks on the respective element.
Line 24: Line 28:
   * Executing Java methods: Static Java methods can be specified using IRIs of the form java:%%//%%<namespace+class>#<method>()   * Executing Java methods: Static Java methods can be specified using IRIs of the form java:%%//%%<namespace+class>#<method>()
   * Querying the KnowRob knowledge base: Prolog queries are described by 'prolog:%%//%%<query>'   * Querying the KnowRob knowledge base: Prolog queries are described by 'prolog:%%//%%<query>'
-  * Calling ROS services: ROS services can be called (with either no arguments or those of type string) by service:%%//%%<node>/<service-name>#<argument>'+  * Calling ROS services: ROS services can be called by service:%%//%%<node>/<service-name>#<type>&<argument>'. Since rosjava has limited support for introspection (which could be used to read the service types and message formats), the logic for calling the service needs to be implemented in the Java file.
  
 The following example of a [[http://en.wikipedia.org/wiki/YAML|YAML file]] defines three actions for the IDs //prac//, //importer// and //tracking//. As mentioned earlier, the corresponding blocks are called //block_<id>//. The following example of a [[http://en.wikipedia.org/wiki/YAML|YAML file]] defines three actions for the IDs //prac//, //importer// and //tracking//. As mentioned earlier, the corresponding blocks are called //block_<id>//.
Line 31: Line 35:
     prac     : 'java://org.prac.main.PracInfer#doStuff()'     prac     : 'java://org.prac.main.PracInfer#doStuff()'
     importer : 'prolog://query(a, B, C), a2(C)'     importer : 'prolog://query(a, B, C), a2(C)'
-    tracking : 'service://hand_tracking/start#startTracking'+    tracking : 'service://hand_tracking/start#hand_tracking.srv.StartTracker&startTracking'