void Start() { // Create car objects and subscriber/rosconnector for each car cars = new List <GameObject>(); rosInterfaces = new List <GameObject>(); numSamePos = new List <int>(); prevPos = new List <Vector3>(); for (int i = 0; i < numCars; i++) { GameObject car = Instantiate(Resources.Load("Prefabs/Car_" + i)) as GameObject; car.name = "Car_" + i; car.transform.localScale = new Vector3(2.5f, 2.5f, 2.5f); car.transform.position = new Vector3(0f, wheelOffset, 0f); car.SetActive(false); BoxCollider boxCollider = car.AddComponent(typeof(BoxCollider)) as BoxCollider; if (egoCarNum == i) { egoCarGoal = new GameObject(); egoCarGoal.transform.position = initPosition; PoseStampedPublisher poseStampedPublisher = egoCarGoal.AddComponent(typeof(PoseStampedPublisher)) as PoseStampedPublisher; poseStampedPublisher.Topic = "/car/" + i + "/nav/goal"; poseStampedPublisher.PublishedTransform = egoCarGoal.transform; EgoCarEvaluationInterface evaluationInterface = car.AddComponent(typeof(EgoCarEvaluationInterface)) as EgoCarEvaluationInterface; LineRenderer lineRenderer = car.AddComponent(typeof(LineRenderer)) as LineRenderer; Rigidbody rigidBody = car.AddComponent(typeof(Rigidbody)) as Rigidbody; car.GetComponent <Rigidbody>().isKinematic = true; } car.SetActive(true); cars.Add(car); prevPos.Add(car.transform.position); numSamePos.Add(0); GameObject rosInterface = new GameObject(); rosInterface.name = "RosInterface" + i; rosInterface.transform.position = new Vector3(0f, 0f, 0f); rosInterface.SetActive(false); RosConnector rosConnector = rosInterface.AddComponent(typeof(RosConnector)) as RosConnector; rosConnector.Protocol = RosConnector.Protocols.WebSocketSharp; rosConnector.Timeout = 10; rosConnector.RosBridgeServerUrl = url; rosConnector.Awake(); PoseStampedSubscriber poseStampedSubscriber = rosInterface.AddComponent(typeof(PoseStampedSubscriber)) as PoseStampedSubscriber; poseStampedSubscriber.TimeStep = 0.1f; poseStampedSubscriber.Topic = "/car/" + i + "/pose"; poseStampedSubscriber.PublishedTransform = rosInterface.transform; poseStampedSubscriber.Awake(); rosInterface.SetActive(true); rosInterfaces.Add(rosInterface); } }
public Navigation(string name) { base.init(name); velocityPublisher = new TwistPublisher("/cmd_vel"); odomSubscriber = new OdomSubscriber("/odom", 50); navMapPublisher = new PoseStampedPublisher("/move_base_simple/goal"); scanSubscriber = new LaserScanSubscriber("/scan", 500); }
private void Awake() { timeWindow = HumanStateManager.instance.timeWindow; timeSinceLastAction = 0; kuriEmoteStringPublisher = FindObjectOfType <KuriEmoteStringPublisher>(); poseStampPublisher = FindObjectOfType <PoseStampedPublisher>(); kuriGoalPoseTransform = transform.GetChild(0); kuriCurPoseTransform = transform.GetChild(1); LoggingManager.instance.AddLogColumn(rISACol, ""); LoggingManager.instance.AddLogColumn(robotKCLevel, ""); }
private void Start() { // Initialize pose publisher goalPublisher = gameObject.GetComponent(typeof(PoseStampedPublisher)) as PoseStampedPublisher; }