private static void DoWork() { string uri = "ws://localhost:9090"; Console.WriteLine($"Trying to connect to RosBridge via {uri}"); RosSharp.RosBridgeClient.Protocols.WebSocketNetProtocol webSocketNetProtocol = new RosSharp.RosBridgeClient.Protocols.WebSocketNetProtocol(uri); var protocol = RosSharp.RosBridgeClient.Protocols.ProtocolInitializer.GetProtocol(RosSharp.RosBridgeClient.Protocols.Protocol.WebSocketNET, uri); protocol.OnConnected += OnConnected; protocol.OnClosed += OnClosed; rosSocket = new RosSocket(protocol, RosSocket.SerializerEnum.Newtonsoft_JSON); rosSocket.Subscribe <Clock>("/clock", ReceiveMessage, 1000); publishId = rosSocket.Advertise <Clock>("/customTopic_clock"); //rosSocket.Subscribe<RosSharp.RosBridgeClient.MessageTypes.Std.String>("/clock", ReceiveMessage); }
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 RosSocket GetStandardRosSocket(string uri, Action OnConnected, Action OnClosed) { RosSharp.RosBridgeClient.Protocols.WebSocketNetProtocol webSocketNetProtocol = new RosSharp.RosBridgeClient.Protocols.WebSocketNetProtocol(uri); var protocol = RosSharp.RosBridgeClient.Protocols.ProtocolInitializer.GetProtocol(RosSharp.RosBridgeClient.Protocols.Protocol.WebSocketNET, uri); if (OnConnected != null) { protocol.OnConnected += (sender, eventArgs) => { OnConnected?.Invoke(); } } ; if (OnClosed != null) { protocol.OnClosed += (sender, eventArgs) => { OnClosed?.Invoke(); } } ; var rosSocket = new RosSocket(protocol, RosSocket.SerializerEnum.Newtonsoft_JSON); return(rosSocket); } } }