using UnityEngine; using Unity.Robotics.Core; using Unity.Robotics.ROSTCPConnector; using RosMessageTypes.Std; public class ROSCollissionDetectionPublisher : MonoBehaviour { public string topicName = "/collision_detection"; public bool useNamespace = true; public BoolMsg result; protected string _namespace; ROSConnection ros; private void Awake() { if (useNamespace) { _namespace = "/" + gameObject.name; topicName = topicName[0] == '/' ? _namespace + topicName : _namespace + "/" + topicName; } } // Start is called once before the first execution of Update after the MonoBehaviour is created void Start() { ros = ROSConnection.GetOrCreateInstance(); ros.RegisterPublisher(topicName); result = new BoolMsg(false); } // Update is called once per frame void Update() { ros.Publish(topicName, result); } }