public static void Main(string[] args) { string uri = "ws://192.168.56.102:9090"; RosBridgeClient.Protocols.WebSocketNetProtocol webSocketNetProtocol; RosSocket rosSocket; for (int i = 1; i < 3; i++) { webSocketNetProtocol = new RosBridgeClient.Protocols.WebSocketNetProtocol(uri); rosSocket = new RosSocket(webSocketNetProtocol); // Publication: UrdfImporter urdfImporter = new UrdfImporter(rosSocket, System.IO.Directory.GetCurrentDirectory()); urdfImporter.Import(); urdfImporter.Status["robotNameReceived"].WaitOne(); Console.WriteLine("Robot Name Received: " + urdfImporter.RobotName); urdfImporter.Status["robotDescriptionReceived"].WaitOne(); Console.WriteLine("Robot Description received... "); urdfImporter.Status["resourceFilesReceived"].WaitOne(); Console.WriteLine("Resource Files received " + urdfImporter.RequestedResourceFiles.Count); rosSocket.Close(); } Console.WriteLine("Press any key to close..."); Console.ReadKey(true); }
private void rosSocketConnect() { // intialize foreach (ManualResetEvent manualResetEvent in status.Values) { manualResetEvent.Reset(); } // connectto ROSbridge RosSocket rosSocket = new RosSocket(address); status["connected"].Set(); // setup urdfImporter urdfImporter = new UrdfImporter(rosSocket, urdfAssetPath); status["robotNameReceived"] = urdfImporter.Status["robotNameReceived"]; status["robotDescriptionReceived"] = urdfImporter.Status["robotDescriptionReceived"]; status["resourceFilesReceived"] = urdfImporter.Status["resourceFilesReceived"]; urdfImportThread = new Thread(() => urdfImporter.Import()); urdfImportThread.Start(); // import URDF assets: if (status["resourceFilesReceived"].WaitOne(int.Parse(timeout) * 1000)) { Debug.Log("Imported urdf resources to " + urdfImporter.LocalDirectory); } else { Debug.LogWarning("Not all resource files have been received before timeout."); } // close the ROSBridge socket rosSocket.Close(); status["disconnected"].Set(); }
public static void Main(string[] args) { //RosSocket rosSocket = new RosSocket(new RosBridgeClient.Protocols.WebSocketSharpProtocol(uri)); for (int i = 0; i < 2; i++) { RosSocket rosSocket = new RosSocket(new RosBridgeClient.Protocols.WebSocketNetProtocol(uri)); UrdfImporter urdfImporter = new UrdfImporter(rosSocket, System.IO.Directory.GetCurrentDirectory().ToString()); urdfImporter.Import(); Console.WriteLine("Press any key to close..."); Console.ReadKey(true); rosSocket.Close(); } }