00001 package edu.tum.cs.ias.knowrob.map;
00002
00003 import ros.*;
00004 import ros.pkg.mod_semantic_map.srv.*;
00005 import ros.pkg.mod_semantic_map.msg.*;
00006
00007
00008
00009 public class SemanticMapToOWLTestClient {
00010
00011
00013
00014
00015 static Boolean rosInitialized = false;
00016 static Ros ros;
00017 static NodeHandle n;
00018
00020
00021
00022
00023 public static void main(String args[]) {
00024
00025 Ros ros = Ros.getInstance();
00026 if(!Ros.getInstance().isInitialized()) {
00027 ros.init("semantic_map_to_owl_test_client");
00028 }
00029 NodeHandle n = ros.createNodeHandle();
00030
00031
00032
00033
00034 GenerateSemanticMapOWL.Request req = new GenerateSemanticMapOWL.Request();
00035 req.map= new SemMap();
00036
00037 req.map.header.frame_id="http://www.example.com/foo.owl#";
00038 req.map.header.stamp=ros.now();
00039
00040
00041
00042
00043
00044 req.map.objects.add(new SemMapObject());
00045 req.map.objects.get(0).id=1;
00046 req.map.objects.get(0).partOf=0;
00047 req.map.objects.get(0).type="cupboard";
00048
00049 req.map.objects.get(0).depth = 55.6f;
00050 req.map.objects.get(0).width = 60.7f;
00051 req.map.objects.get(0).height = 70.6f;
00052
00053 req.map.objects.get(0).pose = new float[] { 1.0f,0.0f,0.0f,2.3f,
00054 0.0f,1.0f,0.0f,1.2f,
00055 0.0f,0.0f,1.0f,0.4f,
00056 0.0f,0.0f,0.0f,1.0f};
00057
00058 req.map.objects.add(new SemMapObject());
00059 req.map.objects.get(1).id=2;
00060 req.map.objects.get(1).partOf=1;
00061 req.map.objects.get(1).type="Door";
00062
00063 req.map.objects.get(1).depth = 0.6f;
00064 req.map.objects.get(1).width = 60.7f;
00065 req.map.objects.get(1).height = 70.6f;
00066
00067 req.map.objects.get(1).pose = new float[] { 1.0f,0.0f,0.0f,2.4f,
00068 0.0f,1.0f,0.0f,1.3f,
00069 0.0f,0.0f,1.0f,0.4f,
00070 0.0f,0.0f,0.0f,1.0f};
00071
00072 req.map.objects.add(new SemMapObject());
00073 req.map.objects.get(2).id=3;
00074 req.map.objects.get(2).partOf=2;
00075 req.map.objects.get(2).type="HINGEDJOINT";
00076
00077 req.map.objects.get(2).depth = 5.6f;
00078 req.map.objects.get(2).width = 0.7f;
00079 req.map.objects.get(2).height = 0.6f;
00080
00081 req.map.objects.get(2).pose = new float[] { 1.0f,0.0f,0.0f,2.5f,
00082 0.0f,1.0f,0.0f,1.4f,
00083 0.0f,0.0f,1.0f,0.4f,
00084 0.0f,0.0f,0.0f,1.0f};
00085
00086
00087 req.map.objects.add(new SemMapObject());
00088 req.map.objects.get(3).id=4;
00089 req.map.objects.get(3).partOf=2;
00090 req.map.objects.get(3).type="handle";
00091
00092 req.map.objects.get(3).depth = 5.6f;
00093 req.map.objects.get(3).width = 6.7f;
00094 req.map.objects.get(3).height = 7.6f;
00095
00096 req.map.objects.get(3).pose = new float[] { 1.0f,0.0f,0.0f,2.6f,
00097 0.0f,1.0f,0.0f,1.5f,
00098 0.0f,0.0f,1.0f,0.4f,
00099 0.0f,0.0f,0.0f,1.0f};
00100
00101 ServiceClient<GenerateSemanticMapOWL.Request, GenerateSemanticMapOWL.Response, GenerateSemanticMapOWL> cl =
00102 n.serviceClient("/knowrob_semantic_map_to_owl/generate_owl_map", new GenerateSemanticMapOWL());
00103
00104 try {
00105 GenerateSemanticMapOWL.Response res = cl.call(req);
00106 System.out.println("Map:\n\n " +res.owlmap);
00107
00108 } catch (RosException e) {
00109 e.printStackTrace();
00110 }
00111
00112 }
00113 }