testRosJavaService.py
Go to the documentation of this file.
00001 #!/usr/bin/env python
00002 import roslib;
00003 #roslib.load_manifest('beginner_tutorials')
00004 roslib.load_manifest('srs_knowledge')
00005 roslib.load_manifest('geometry_msgs')
00006 import sys
00007 import rospy
00008 from geometry_msgs.msg import *
00009 
00010 from srs_knowledge.srv import *
00011 
00012 def querySparQL():
00013     rospy.wait_for_service('query_sparql')
00014     try:
00015         print '\n---- Try SparQL to query all instances of type Table ----'
00016         spql = rospy.ServiceProxy('query_sparql', QuerySparQL)
00017         queryString = "PREFIX house: <http://www.semanticweb.org/ontologies/house.owl#> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> \n SELECT ?table \n WHERE { ?table rdf:type house:Table . }"
00018         print queryString
00019         print '----\n'
00020         resp1 = spql(queryString)
00021         return resp1.result
00022     except rospy.ServiceException, e:
00023         print "Service call failed: %s"%e
00024 
00025 
00026 def queryGripper():
00027     rospy.wait_for_service('query_sparql')
00028     try:
00029         print '\n---- Try SparQL to query all instances of type Table ----'
00030         spql = rospy.ServiceProxy('query_sparql', QuerySparQL)
00031 
00032         queryString = """
00033                 PREFIX srs: <http://www.srs-project.eu/ontologies/srs.owl#>
00034                 PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
00035                 PREFIX ipa-kitchen-map: <http://www.srs-project.eu/ontologies/ipa-kitchen-map.owl#>
00036                 SELECT ?gripper WHERE { 
00037                 ipa-kitchen-map:cob3-3 srs:hasPart ?gripper . 
00038                 ?gripper a srs:RobotGripper . 
00039                 }
00040                 """
00041         print queryString
00042         print '----\n'
00043         resp1 = spql(queryString)
00044         return resp1.result
00045     except rospy.ServiceException, e:
00046         print "Service call failed: %s"%e
00047 
00048 def queryGrippedBy():
00049     rospy.wait_for_service('query_sparql')
00050     try:
00051         print '\n---- Try SparQL to query all instances of type Table ----'
00052         spql = rospy.ServiceProxy('query_sparql', QuerySparQL)
00053 
00054         queryString = """
00055                 PREFIX srs: <http://www.srs-project.eu/ontologies/srs.owl#>
00056                 PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
00057                 PREFIX ipa-kitchen-map: <http://www.srs-project.eu/ontologies/ipa-kitchen-map.owl#>
00058                 SELECT ?gripper ?type WHERE { 
00059                 ipa-kitchen-map:MilkBox0 srs:spatiallyRelated ?gripper . 
00060                 }
00061                 """
00062         print queryString
00063         print '----\n'
00064         resp1 = spql(queryString)
00065         return resp1.result
00066     except rospy.ServiceException, e:
00067         print "Service call failed: %s"%e
00068 
00069 def queryGetWorkspace():
00070     rospy.wait_for_service('query_sparql')
00071     try:
00072         print '\n---- Try SparQL to query all instances of type Table ----'
00073         spql = rospy.ServiceProxy('query_sparql', QuerySparQL)
00074 
00075         queryString = """
00076                 PREFIX srs: <http://www.srs-project.eu/ontologies/srs.owl#>
00077                 PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
00078                 PREFIX ipa-kitchen-map: <http://www.srs-project.eu/ontologies/ipa-kitchen-map.owl#>
00079                 PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
00080                 SELECT ?ws ?rel ?obj WHERE { 
00081                 ?obj srs:spatiallyRelated ipa-kitchen-map:SRSCOBTray .   
00082                 }
00083                 """
00084         print queryString
00085         print '----\n'
00086         resp1 = spql(queryString)
00087         return resp1.result
00088     except rospy.ServiceException, e:
00089         print "Service call failed: %s"%e
00090 
00091 
00092 def queryGetObjOnWorkspace():
00093     rospy.wait_for_service('query_sparql')
00094     try:
00095         print '\n---- Try SparQL to query all instances of type Table ----'
00096         spql = rospy.ServiceProxy('query_sparql', QuerySparQL)
00097 
00098         queryString = """
00099                 PREFIX srs: <http://www.srs-project.eu/ontologies/srs.owl#>
00100                 PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
00101                 PREFIX ipa-kitchen-map: <http://www.srs-project.eu/ontologies/ipa-kitchen-map.owl#>
00102                 PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
00103                 SELECT DISTINCT ?obj  WHERE { 
00104                 ?obj srs:spatiallyRelated ipa-kitchen-map:Dishwasher0 .
00105                 ?obj a srs:Milkbox .
00106                 }
00107                 """
00108 
00109         print queryString
00110         print '----\n'
00111         resp1 = spql(queryString)
00112         return resp1.result
00113     except rospy.ServiceException, e:
00114         print "Service call failed: %s"%e
00115 
00116 
00117 def testNextActionService(result):
00118     print 'Plan next Action service'
00119     rospy.wait_for_service('plan_next_action')
00120     try:
00121         next_action = rospy.ServiceProxy('plan_next_action', PlanNextAction)
00122         
00123         resp1 = next_action(1, result)
00124     
00125         return resp1.nextAction
00126     
00127     except rospy.ServiceException, e:
00128         print "Service call failed: %s"%e
00129 
00130 def terminateCurrentTask():
00131     print 'Terminate current task (due to vital problems, e.g. with hardware)'
00132     rospy.wait_for_service('plan_next_action')
00133     try:
00134         next_action = rospy.ServiceProxy('plan_next_action', PlanNextAction)
00135         res = next_action(1, [2, 2, 2])
00136         return res
00137     except rospy.ServiceException, e:
00138         print "Service call failed: %s"%e
00139 
00140 def requestNewTask():
00141     print 'Request new task'
00142     rospy.wait_for_service('task_request')
00143     try:
00144         p = Pose2D()
00145         p.x = 1
00146         p.y = 1
00147         p.theta = 0
00148         requestNewTask = rospy.ServiceProxy('task_request', TaskRequest)
00149         res = requestNewTask('get', 'MilkBox', None)
00150         return res
00151     except rospy.ServiceException, e:
00152         print "Service call failed: %s"%e
00153 
00154 
00155 def querySuperClasses():
00156     rospy.wait_for_service('query_sparql')
00157     try:
00158         print '\n---- Try SparQL to query all instances of type Table ----'
00159         spql = rospy.ServiceProxy('query_sparql', QuerySparQL)
00160 
00161         queryString = """
00162                 PREFIX srs: <http://www.srs-project.eu/ontologies/srs.owl#>
00163                 PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
00164                 PREFIX ipa-kitchen-map: <http://www.srs-project.eu/ontologies/ipa-kitchen-map.owl#>
00165                 PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
00166                 SELECT ?sup  WHERE { 
00167                 srs:Milkbox rdfs:subClassOf ?sup .
00168                 ?sup rdfs:subClassOf srs:GraspableObject .
00169                 }
00170                 """
00171         print queryString
00172         print '----\n'
00173         resp1 = spql(queryString)
00174         return resp1.result
00175     except rospy.ServiceException, e:
00176         print "Service call failed: %s"%e
00177 
00178 if __name__ == "__main__":
00179     print querySparQL()
00180     print queryGripper()
00181     print queryGrippedBy()
00182     print queryGetWorkspace()
00183     print queryGetObjOnWorkspace()
00184     print querySuperClasses()
00185     #print requestNewTask()
00186     #print testNextActionService([0,0,0])
00187     #print testNextActionService([0,0,0])
00188     #print testNextActionService([0,1,0])
00189     #print testNextActionService([0,0,0])
00190     #print testNextActionService([0,0,0])


srs_knowledge
Author(s): Ze Ji
autogenerated on Sun Jan 5 2014 12:03:29