private void ImportAssets() { // setup Urdf Transfer UrdfTransferFromRos urdfTransfer = new UrdfTransferFromRos(rosSocket, assetPath, urdfParameter); StatusEvents["robotNameReceived"] = urdfTransfer.Status["robotNameReceived"]; StatusEvents["robotDescriptionReceived"] = urdfTransfer.Status["robotDescriptionReceived"]; StatusEvents["resourceFilesReceived"] = urdfTransfer.Status["resourceFilesReceived"]; urdfTransfer.Transfer(); if (StatusEvents["robotNameReceived"].WaitOne(timeout * 1000)) { robotName = urdfTransfer.RobotName; localDirectory = urdfTransfer.LocalUrdfDirectory; } // import URDF assets: if (StatusEvents["resourceFilesReceived"].WaitOne(timeout * 1000)) { Debug.Log("Imported urdf resources to " + localDirectory); } else { Debug.LogWarning("Not all resource files have been received before timeout."); } rosSocket.Close(); }
public static void Main(string[] args) { string uri = "ws://192.168.56.102:9090"; for (int i = 1; i < 3; i++) { RosBridgeClient.Protocols.WebSocketNetProtocol webSocketNetProtocol = new RosBridgeClient.Protocols.WebSocketNetProtocol(uri); RosSocket rosSocket = new RosSocket(webSocketNetProtocol); string urdfParameter = "/robot_description"; // Publication: UrdfTransferFromRos urdfTransferFromRos = new UrdfTransferFromRos(rosSocket, System.IO.Directory.GetCurrentDirectory(), urdfParameter); urdfTransferFromRos.Transfer(); urdfTransferFromRos.Status["robotNameReceived"].WaitOne(); Console.WriteLine("Robot Name Received: " + urdfTransferFromRos.RobotName); urdfTransferFromRos.Status["robotDescriptionReceived"].WaitOne(); Console.WriteLine("Robot Description received... "); urdfTransferFromRos.Status["resourceFilesReceived"].WaitOne(); Console.WriteLine("Resource Files received " + urdfTransferFromRos.FilesBeingProcessed.Count); rosSocket.Close(); } Console.WriteLine("Press any key to close..."); Console.ReadKey(true); }
public void ShouldImportFilesDirectly() { string uri = "ws://localhost:9090"; RosSharp.RosBridgeClient.Protocols.WebSocketNetProtocol webSocketNetProtocol = new RosSharp.RosBridgeClient.Protocols.WebSocketNetProtocol(uri); RosSocket rosSocket = new RosSocket(webSocketNetProtocol); string urdfParameter = "/robot_description"; string t = JsonConvert.SerializeObject(rosSocket); // Publication: UrdfTransferFromRos urdfTransferFromRos = new UrdfTransferFromRos(rosSocket, System.IO.Directory.GetCurrentDirectory(), urdfParameter); //urdfTransferFromRos.Transfer(); urdfTransferFromRos.RobotName = "UR3"; urdfTransferFromRos.ImportResourceFiles(UrdfTests.Properties.Resources.xmlUr5); urdfTransferFromRos.Status["resourceFilesReceived"].WaitOne(); Console.WriteLine("Resource Files received " + urdfTransferFromRos.FilesBeingProcessed.Count); rosSocket.Close(); }
public static void Main(string[] args) { //string uri = "ws://localhost:9090"; string uri = "ws://localhost:9090"; Console.WriteLine($"Trying to connect to RosBridge via {uri}"); try { for (int i = 1; i < 3; i++) { RosBridgeClient.Protocols.WebSocketNetProtocol webSocketNetProtocol = new RosBridgeClient.Protocols.WebSocketNetProtocol(uri); RosSocket rosSocket = new RosSocket(webSocketNetProtocol); string urdfParameter = "/robot_description"; // Publication: UrdfTransferFromRos urdfTransferFromRos = new UrdfTransferFromRos(rosSocket, System.IO.Directory.GetCurrentDirectory(), urdfParameter); urdfTransferFromRos.Transfer(); urdfTransferFromRos.Status["robotNameReceived"].WaitOne(); Console.WriteLine("Robot Name Received: " + urdfTransferFromRos.RobotName); urdfTransferFromRos.Status["robotDescriptionReceived"].WaitOne(); Console.WriteLine("Robot Description received... "); urdfTransferFromRos.Status["resourceFilesReceived"].WaitOne(); Console.WriteLine("Resource Files received " + urdfTransferFromRos.FilesBeingProcessed.Count); rosSocket.Close(); } } catch (Exception ex) { Console.WriteLine($"Failed to connect: {ex.Message}"); } Console.WriteLine("Press any key to close..."); Console.ReadKey(true); }
private void ImportAssets() { // setup Urdf Transfer UrdfTransferFromRos urdfTransfer = new UrdfTransferFromRos(rosSocket, assetPath, urdfParameter); StatusEvents["robotNameReceived"] = urdfTransfer.Status["robotNameReceived"]; StatusEvents["robotDescriptionReceived"] = urdfTransfer.Status["robotDescriptionReceived"]; StatusEvents["resourceFilesReceived"] = urdfTransfer.Status["resourceFilesReceived"]; urdfTransfer.Transfer(); if (StatusEvents["robotNameReceived"].WaitOne(timeout * 1000)) { robotName = urdfTransfer.RobotName; localDirectory = urdfTransfer.LocalUrdfDirectory; } // import URDF assets: if (StatusEvents["resourceFilesReceived"].WaitOne(timeout * 1000)) { Debug.Log("Imported urdf resources to " + localDirectory); Debug.Log("Now creating txt files from .dae files"); var files = Directory.GetFiles(localDirectory, "*.dae", SearchOption.AllDirectories); foreach (var file in files) { string newPath = file.Replace(".dae", ".txt"); Debug.Log("Copied " + Path.GetFileName(file)); File.Copy(file, newPath); } } else { Debug.LogWarning("Not all resource files have been received before timeout."); } rosSocket.Close(); }