public static void Main(string[] args) { //RosSocket rosSocket = new RosSocket(new RosBridgeClient.Protocols.WebSocketSharpProtocol(uri)); RosSocket rosSocket = new RosSocket(new RosBridgeClient.Protocols.WebSocketNetProtocol(uri)); // Publication: std_msgs.String message = new std_msgs.String("publication test message data"); string publication_id = rosSocket.Advertise <std_msgs.String>("publication_test"); rosSocket.Publish(publication_id, message); // Subscription: string subscription_id = rosSocket.Subscribe <std_msgs.String>("/subscription_test", SubscriptionHandler); subscription_id = rosSocket.Subscribe <std_msgs.String>("/subscription_test", SubscriptionHandler); // Service Call: rosSocket.CallService <rosapi.GetParamRequest, rosapi.GetParamResponse>("/rosapi/get_param", ServiceCallHandler, new rosapi.GetParamRequest("/rosdistro", "default")); rosSocket.CallService <rosapi.GetParamRequest, rosapi.GetParamResponse>("/rosapi/get_param", ServiceCallHandler, new rosapi.GetParamRequest("/rosdistro", "default")); // Service Response: string service_id = rosSocket.AdvertiseService <std_srvs.TriggerRequest, std_srvs.TriggerResponse>("/service_response_test", ServiceResponseHandler); Console.WriteLine("Press any key to unsubscribe..."); Console.ReadKey(true); rosSocket.Unadvertise(publication_id); rosSocket.Unsubscribe(subscription_id); rosSocket.UnadvertiseService(service_id); Console.WriteLine("Press any key to close..."); Console.ReadKey(true); rosSocket.Close(); }
void Start() { GameObject Connector = GameObject.FindWithTag("Connector"); socket = Connector.GetComponent <RosConnector>()?.RosSocket; publication_id = socket.Advertise <std_msgs.String>("/speech"); message = new std_msgs.String(); say("Hallo, ich bin Mino. Du bist erfolgreich verbunden."); }
public void PublicationTest() { string id = RosSocket.Advertise <std_msgs.String>("/publication_test"); std_msgs.String message = new std_msgs.String("publication test message data"); RosSocket.Publish(id, message); RosSocket.Unadvertise(id); Thread.Sleep(100); Assert.IsTrue(true); }
// Update is called once per frame void Update() { rosSocketIsAlive = rosSocket.protocol.IsAlive(); // Publication: string publication_id = rosSocket.Advertise <std_msgs.String>("publication_test"); std_msgs.String message = new std_msgs.String(); message.data = "publication test message data"; rosSocket.Publish(publication_id, message); }
// Publish string to ROS public void PublishString(string topic, string msg) { // Create new standard string and set its data to msg std_msgs.String message = new std_msgs.String { data = msg }; string publicationId = rosSocket.Advertise <std_msgs.String>(topic); // Topic must be in "/topic" format rosSocket.Publish(publicationId, message); Debug.Log("Sent:" + msg); }
public void PublicationTest() { string id = RosSocket.Advertise <std_msgs.String>("/publication_test"); std_msgs.String message = new std_msgs.String { data = "publication test message data" }; try { RosSocket.Publish(id, message); RosSocket.Unadvertise(id); Thread.Sleep(100); Assert.IsTrue(true); } catch (System.Exception) { Assert.IsTrue(false); throw; } }
private static void SubscriptionHandler(std_msgs.String message) { Console.WriteLine((message).data); }
private static void SubscriptionHandler(std_msgs.String message) { Debug.Log((message).data); }
private void ROSResponse(Messages.Standard.String response) { #if DEBUG System.Diagnostics.Debug.WriteLine(response.data); #endif }
private void SubscriptionHandler(std_msgs.String message) { OnMessageReceived.Set(); }