// Initilize the sensor public void InitilizeSensor(int uniqueID, string sensorURL, int sensorPort, List <string> sensorSubscribers) { Debug.Log("Init LAMP Connection at " + sensorURL + ":" + sensorPort.ToString()); ros = new ROSBridgeWebSocketConnection(sensorURL, sensorPort); client_id = uniqueID.ToString(); foreach (string subscriber in sensorSubscribers) { string subscriberTopic = ""; switch (subscriber) { case "surface_pointcloud": subscriberTopic = "/voxblox_node/" + subscriber; break; default: subscriberTopic = "/" + subscriber; break; } PointCloudVisualizer pcVisualizer = gameObject.AddComponent <PointCloudVisualizer>(); pcVisualizer.SetParentTransform(this.transform); pcVisualizers.Add(subscriberTopic, pcVisualizer); Debug.Log(" LAMP Subscribing to : " + subscriberTopic); sensorSubscriberTopicsDict.Add(subscriberTopic, true); ros.AddSubscriber(subscriberTopic, this); } Debug.Log("Lamp Connection Established"); ros.Connect(); }
// Initilize the sensor public void InitilizeSensor(int uniqueID, string sensorURL, int sensorPort, List <string> sensorSubscribers) { Debug.Log("Init PointCloud Connection at " + sensorURL + ":" + sensorPort.ToString()); // Figure out if we need secure or non secure websockets. OR better yet, make the sensorIP and sensorPort and the address header the same field that user enters. ros = new ROSBridgeWebSocketConnection(sensorURL, sensorPort); client_id = uniqueID.ToString(); foreach (string subscriber in sensorSubscribers) { string subscriberTopic = ""; subscriberTopic = "/voxblox_node/" + subscriber; PointCloudVisualizer pcVisualizer = gameObject.AddComponent <PointCloudVisualizer>(); pcVisualizer.SetParentTransform(this.transform); pcVisualizers.Add(subscriberTopic, pcVisualizer); Debug.Log("Point Cloud subscribing to: " + subscriberTopic); sensorSubscriberTopicsDict.Add(subscriberTopic, true); ros.AddSubscriber(subscriberTopic, this); } ros.Connect(); Debug.LogWarning("Connected to Sensors"); }