Exemplo n.º 1
0
    // 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();
    }
Exemplo n.º 2
0
    public new static void CallBack(ROSBridgeMsg msg)
    {
        PointCloud2Msg pointCloudMsg = (PointCloud2Msg)msg;

        if (verbose)
        {
            StringBuilder sb = new StringBuilder();
            sb.Append(pointCloudMsg.GetHeader().GetSeq());
            sb.Append(":\n");
            sb.AppendFormat("Size: {0} X {1} = {2}\n", pointCloudMsg.GetWidth(), pointCloudMsg.GetHeight(), pointCloudMsg.GetWidth() * pointCloudMsg.GetHeight());
            sb.Append(pointCloudMsg.GetFieldString());
            Debug.Log(sb.ToString());
        }

        PointCloudVisualizer visualizer = GameObject.Find(rendererObjectName).GetComponent <PointCloudVisualizer>();

        visualizer.SetPointCloud(pointCloudMsg.GetCloud());
        Debug.Log("Updated Point Cloud");
    }
Exemplo n.º 3
0
    // 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");
    }