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) { 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); }
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(); } }
public override void _Ready() { UrdfHandler = new UrdfImporter(); UserDataDirectory = OS.GetUserDataDir(); PlugLoader = new Loader(UserDataDirectory + "/plugins/"); // Register close button so we can save the program before quitting GetNode("/root/main/UI/TitleBar/TitleButtons/QuitButton").Connect( "pressed", this, "OnQuitRequest"); UserConfig = new ConfigFile(); // Make sure everything is working properly ParseConfig(); ValidatePluginDirectory(); CheckPlugins(); GD.Print("GLOBAL SINGLETON LOADED"); }