/// <summary>
        /// Used to set connected axis, helpful in order to properly use the thresholding algorithms on the correct axis of motion
        /// </summary>
        /// <param name="actuators"><object, of type Controller.Actuators/param>
        public void SetConnectedAxis(Actuators actuators)
        {
            ConnectedAxisList = new List <Enums.Axis>();

            for (int i = 0; i < Actuators.List.Count; i++)
            {
                ConnectedAxisList.Add(Actuators.List[i].Axis);
            }
        }
示例#2
0
        private void SetupSimulator()
        {
            Simulator simulator = new Simulator(itemsList);

            simulator.Items.ForEach(item => {
                if (item.ItemType.Equals(typeof(ISensor)))
                {
                    Sensors.Add(item);
                }
                else if (item.ItemType.Equals(typeof(IActuator)))
                {
                    Actuators.Add(item);
                }
            });
        }
示例#3
0
        public virtual void CommandActuator(double[] efforts)
        {
            /*
             *  new RosSharp.RosBridgeClient.MessageTypes.Std.Header(
             *      1, new RosSharp.RosBridgeClient.MessageTypes.Std.Time((uint)DateTime.Now.TimeOfDay.TotalSeconds, 40), "my frame")*/

            Actuators msg = new Actuators(
                new RosSharp.RosBridgeClient.MessageTypes.Std.Header(),
                new double[0],
                efforts,
                new double[0]);
            string json = JsonConvert.SerializeObject(msg);

            RosSocket.Publish(Topics.GetPublishId(nameof(CommandActuator)), msg);
            Console.WriteLine($"Publishing to {Topics.GetTopic(nameof(CommandActuator))}: {json}");
        }
        public override string ToString()
        {
            StringBuilder sb = new StringBuilder();

            if (Sensors != null)
            {
                sb.Append("Сенсоры: \n");
            }
            for (int i = 0; i < Sensors.Count(); i++)
            {
                if (Sensors[i].Count > 0)
                {
                    sb.Append(Sensors[i].TypeOfSensor + " " + Sensors[i].TypeOfSignal + " кол-во:" + Sensors[i].Count + "\n");
                }
            }

            if (OperatorPanels != null)
            {
                sb.Append("Панели оператора: \n");
            }
            for (int i = 0; i < OperatorPanels.Count(); i++)
            {
                sb.Append(OperatorPanels[i].TypeOfOperatorPanel + "\n");
            }

            if (Actuators != null)
            {
                sb.Append("Исполнительные механизмы: \n");
            }
            for (int i = 0; i < Actuators.Count(); i++)
            {
                sb.Append(Actuators[i].TypeOfActuator + "\n");
            }

            if (MultimediaSystems != null)
            {
                sb.Append("Мультимедиа системы: \n");
            }
            for (int i = 0; i < MultimediaSystems.Count(); i++)
            {
                sb.Append(MultimediaSystems[i].TypeOfMS + "\n");
            }

            if (ManagmentControllers != null)
            {
                sb.Append("Контроллеры управления: \n");
            }
            for (int i = 0; i < ManagmentControllers.Count(); i++)
            {
                sb.Append(ManagmentControllers[i].TypeOfController + "\n");
            }

            if (NetworkDevices != null)
            {
                sb.Append("Сетевые устройства: \n");
            }
            for (int i = 0; i < NetworkDevices.Count(); i++)
            {
                sb.Append(NetworkDevices[i].TypeOfNetDevice + "\n");
            }

            return(sb.ToString());
        }
示例#5
0
 ////////////////////////////////////////////////////////////
 void Start()
 {
     rend      = GetComponent <Renderer>();
     actuators = transform.parent.gameObject.GetComponent <Actuators>();
 }