ReVisionDummyPublisher.java
Go to the documentation of this file.
00001 /*
00002  * Copyright (C) 2010 by Moritz Tenorth
00003  *
00004  * This program is free software; you can redistribute it and/or modify
00005  * it under the terms of the GNU General Public License as published by
00006  * the Free Software Foundation; either version 3 of the License, or
00007  * (at your option) any later version.
00008  *
00009  * This program is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012  * GNU General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU General Public License
00015  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
00016  */
00017 
00018 package org.roboearth.re_ontology;
00019 
00020 
00021 import ros.*;
00022 import ros.communication.Time;
00023 import ros.pkg.re_msgs.msg.*;
00024 
00034 public class ReVisionDummyPublisher {
00035 
00036         static Boolean rosInitialized = false;
00037         static Ros ros;
00038         static NodeHandle n;
00039 
00040 //      Subscriber.QueueingCallback<ros.pkg.gazebo.msg.ModelStates> callback;
00041 // 
00042 //      Thread listenToObjDetections;
00043 //      Thread publishReVisionMessages;
00044         
00045         
00046         
00047 //      /**
00048 //       * Constructor: initializes the ROS environment
00049 //       * 
00050 //       * @param node_name A unique node name
00051 //       */
00052 //      public ReVisionDummyPublisher(String node_name) {
00053 //              
00054 //              initRos(node_name);
00055 //              
00056 //              callback = new Subscriber.QueueingCallback<ros.pkg.gazebo.msg.ModelStates>();
00057 //              startObjDetectionsListener();
00058 //      }
00059 // 
00060 // 
00061 //      public void startObjDetectionsListener() {
00062 // 
00063 //              // create threads for listening object detections
00064 //              
00065 //         listenToObjDetections = new Thread( new ListenerThread() );
00066 //         listenToObjDetections.start();
00067 // 
00068 //         publishReVisionMessages = new Thread( new PublishReVisionMsgsThread() );
00069 //         publishReVisionMessages.start();
00070 //              
00071 //      }
00072         
00073         
00074 
00075 //      /**
00076 //       * Initialize the ROS environment if it has not yet been initialized
00077 //       * 
00078 //       * @param node_name A unique node name
00079 //       */
00080 //      protected static void initRos(String node_name) {
00081 // 
00082 //              ros = Ros.getInstance();
00083 // 
00084 //              if(!Ros.getInstance().isInitialized()) {
00085 //                      ros.init(node_name);
00086 //              }
00087 //              n = ros.createNodeHandle();
00088 // 
00089 //      }
00090 
00091         
00092 //      /**
00093 //       * Listen the object poses published by Gazebo and buffer them
00094 //       * 
00095 //       * @author tenorth
00096 //       *
00097 //       */
00098 //      public class ListenerThread implements Runnable {
00099 //      
00100 //              @Override public void run() {
00101 // 
00102 //                      try {
00103 // 
00104 //                              Subscriber<ros.pkg.gazebo.msg.ModelStates> sub = 
00105 //                                      n.subscribe("/gazebo/model_states", new ros.pkg.gazebo.msg.ModelStates(), callback, 10);
00106 // 
00107 //                              n.spin();
00108 //                              sub.shutdown();
00109 // 
00110 //                      } catch(RosException e) {
00111 //                              e.printStackTrace();
00112 //                      }
00113 //              }
00114 //      }
00115         
00116 
00117 //      /**
00118 //       * Publish the re_vision messages
00119 //       * 
00120 //       * @author tenorth
00121 //       *
00122 //       */
00123 //      public class PublishReVisionMsgsThread implements Runnable {
00124 // 
00125 //              @Override public void run() {
00126 // 
00127 //                      try {
00128 // 
00129 //                              ros.pkg.gazebo.msg.ModelStates res;
00130 //                              
00131 //                              Publisher<ros.pkg.re_msgs.msg.SeenObjectArray> pub =
00132 //                                      n.advertise("/vslam/seen_objects", new ros.pkg.re_msgs.msg.SeenObjectArray(), 100);
00133 // 
00134 //                              
00135 //                              int i_msg=0;
00136 //                              while (n.isValid()) {
00137 // 
00138 //                                      res = callback.pop();
00139 // 
00140 //                                      if( ((i_msg++)%1000) == 0) {
00141 // 
00142 //                                      // iterate over detected objects
00143 //                                              ros.pkg.re_msgs.msg.SeenObjectArray msg = new ros.pkg.re_msgs.msg.SeenObjectArray();
00144 //                                              int i_obj=0;
00145 //                                              
00146 //                                      for(int i_res=0; i_res<res.name.size();i_res++) {
00147 // 
00148 //                                              if( (res.name.get(i_res).equals("bed")) ||
00149 //                                                      (res.name.get(i_res).equals("cabinet")) ||
00150 //                                                      (res.name.get(i_res).equals("bottle1")) ||
00151 //                                                      (res.name.get(i_res).equals("chair")) ) {
00152 //                                                      
00153 //                                                              SeenObject new_obj = new SeenObject();
00154 //                                                              new_obj.name = res.name.get(i_res);
00155 //                                                              new_obj.pose = res.pose.get(i_res).clone();
00156 //                                                              new_obj.stamp = new Time();
00157 //                                                              msg.object.add(new_obj);
00158 //                                                              
00159 //                                                              i_obj++;
00160 // 
00161 //                                              }
00162 // 
00163 //                                      }
00164 // 
00165 //                                              pub.publish(msg);
00166 //                                      System.out.println("Publishing");
00167 //                                      }
00168 //                              n.spinOnce();
00169 //                              
00170 //                              }
00171 //                              pub.shutdown();
00172 // 
00173 //                      } catch (Exception e) {
00174 //                              e.printStackTrace();
00175 //                      }
00176 //              }
00177 //      }
00178 
00179         
00180 //      public static void main(String[] args) {
00181 //              
00182 //              new ReVisionDummyPublisher("re_vision_dummy");
00183 //      }
00184 }


re_ontology
Author(s): Moritz Tenorth
autogenerated on Sun Jan 5 2014 11:28:20