/* 0 simulovaný vstup - náhodný pohyb * 1 manuální řízení ovladačem * 2 ROS */ public int changeDataSource(int source = -1) { if (source == -1) { source = (dataSource + 1) % 3; } if (source == 0 && dataSource != 0) { Vector3 pos = positionData.GetPosition(); Vector3 rot = positionData.GetRotation(); dataSource = 0; Debug.Log("přepnuto na simulovany vstup - nahodna data"); positionData = positionDataS; positionData.reset(pos, rot);//ResetRotation rychlosti akcelerace } if (source == 1 && dataSource != 1) { Vector3 pos = positionData.GetPosition(); Vector3 rot = positionData.GetRotation(); dataSource = 1; Debug.Log("přepnuto na manuál"); positionData = positionDataM; positionData.reset(pos, rot); } if (source == 2 && dataSource != 2) { if (!videoUI.activeSelf) { videoUI.SetActive(true); videoUI.transform.localScale = new Vector3(0, 0, 0); } Vector3 pos = positionData.GetPosition(); Vector3 rot = positionData.GetRotation(); if (rosConnector == null) { ConnectToRos(); } positionDataR.setRosConnector(rosConnector); dataSource = 2; Debug.Log("přepnuto vstup z ros"); positionData = positionDataR; // positionData.ResetRotation(pos,rot); //ResetRotation rychlosti akcelerace } return(dataSource); }
// Use this for initialization void Start() { // Prvy dron je vzdy ten defaultny //string path = Application.streamingAssetsPath + "/mission.json"; //if(File.Exists(path)) //{ // string jsonContent = File.ReadAllText(path); // bool parse = true; //} //Mission mission; // try // { // JsonUtility.FromJson<Mission>(jsonContent); // } // catch (System.Exception) // { // parse = false; // } // if(parse){ // mission = JsonUtility.FromJson<Mission>(jsonContent); // Vector3 pos; // Mapbox.Utils.Vector2d p = new Mapbox.Utils.Vector2d(mission.drones[0].latitude,mission.drones[0].longitude); // pos = Map.GeoToWorldPosition(p,false); // float groundAltitude = Map.QueryElevationInUnityUnitsAt(Map.WorldToGeoPosition(pos)); // pos.y = groundAltitude; // positionDataS = new DroneData(Map, pos); // positionData = positionDataM = new DroneDataManual(Map, pos); // positionDataR = new DroneRosData(Map, pos); // }else{ positionDataS = new DroneData(Map, transform.position); positionDataM = new DroneDataManual(Map, transform.position); positionDataR = new DroneRosData(Map, transform.position); positionData = positionDataM; // } // Generate Unique ID for our drone drone = new Drone(transform.gameObject, new DroneFlightData()); drone.FlightData.DroneId = GetUniqueID(); Drones.drones.Add(drone); }
/* 0 simulovaný vstup - náhodný pohyb * 1 manuální řízení ovladačem * 2 ROS */ public int changeDataSource(int source = -1) { if (source == -1) { source = (dataSource + 1) % 3; } if (source == 0 && dataSource != 0) { Vector3 pos = positionData.GetPosition(); Vector3 rot = positionData.GetRotation(); dataSource = 0; Debug.Log("přepnuto na simulovany vstup - nahodna data"); positionData = positionDataS; positionData.reset(pos, rot);//reset rychlosti akcelerace } if (source == 1 && dataSource != 1) { Vector3 pos = positionData.GetPosition(); Vector3 rot = positionData.GetRotation(); dataSource = 1; Debug.Log("přepnuto na manuál"); positionData = positionDataM; positionData.reset(pos, rot); } if (source == 2 && dataSource != 2) { Vector3 pos = positionData.GetPosition(); Vector3 rot = positionData.GetRotation(); if (rosConnector == null) { ConnectToRos(); } positionDataR.setRosConnector(rosConnector); dataSource = 2; Debug.Log("přepnuto vstup z ros"); positionData = positionDataR; // positionData.reset(pos,rot); //reset rychlosti akcelerace } return(dataSource); }
/* 0 simulovaný vstup - náhodný pohyb * 1 manuální řízení ovladačem * 2 ROS */ // Use this for initialization void Start() { // Prvy dron je vzdy ten defaultny string path = Application.streamingAssetsPath + "/mission.json"; string jsonContent = File.ReadAllText(path); Mission mission = JsonUtility.FromJson <Mission>(jsonContent); Vector3 pos; Mapbox.Utils.Vector2d p = new Mapbox.Utils.Vector2d(mission.drones[0].latitude, mission.drones[0].longitude); pos = Map.GeoToWorldPosition(p, false); Debug.Log(pos); float groundAltitude = Map.QueryElevationInUnityUnitsAt(Map.WorldToGeoPosition(pos)); pos.y = groundAltitude; Debug.Log("thr" + pos); positionDataS = new DroneData(Map, pos); positionData = positionDataM = new DroneDataManual(Map, pos); positionDataR = new DroneRosData(Map, pos); Drones.drones.Add(transform.gameObject); }