コード例 #1
0
 // Event method for 'DroneClient.NavigationPacketAcquired' action
 private void NavigationDataAcquired(NavigationData aPacket)
 {
     if (Active)
     {
         var data = new Apparatus.Output {
             Navigation = aPacket, LastInput = LastInput
         };
         EnqueueOutput(data);
     }
 }
コード例 #2
0
ファイル: Heading.cs プロジェクト: Rutoka/AR.Drone
        public override void Contribute(Output aApparatusOutput, ref Input aApparatusInput)
        {
            float heading = CorrectRotation(aApparatusOutput.Navigation.Yaw);
            aApparatusInput.Yaw = Arithmetics.KeepInRange(CorrectRotation((Value) - (heading))*Agression, Input.Limits.Yaw.Min,
                                                          Input.Limits.Yaw.Max);
            
            if (CanBeObtained)
            {
                if (Math.Abs(aApparatusInput.Yaw) < 0.05) _obtainCandidates++;
                else _obtainCandidates = 0;

                if (_obtainCandidates > 3) Obtained = true;
            }
        }
コード例 #3
0
ファイル: Landing.cs プロジェクト: Rutoka/AR.Drone
 public override void Contribute(Output aApparatusOutput, ref Input aApparatusInput)
 {
     aApparatusInput.Command = Input.Type.Land;
 }
コード例 #4
0
ファイル: SetGaz.cs プロジェクト: WindAzure/AutoCopter
 public override void Contribute(Output aApparatusOutput, ref Input aApparatusInput)
 {
     aApparatusInput.Gaz = Arithmetics.KeepInRange(Value, Input.Limits.Gaz.Min, Input.Limits.Gaz.Max);
 }
コード例 #5
0
ファイル: EmergencyResetting.cs プロジェクト: Rutoka/AR.Drone
 public override void Contribute(Output aApparatusOutput, ref Input aApparatusInput)
 {
     aApparatusInput.Command = Input.Type.ResetEmergency;
     Obtained = true;
 }
コード例 #6
0
ファイル: FlatTrimming.cs プロジェクト: WindAzure/AutoCopter
 public override void Contribute(Output aApparatusOutput, ref Input aApparatusInput)
 {
     aApparatusInput.Command = Input.Type.FlatTrim;
     Obtained = true;
 }
コード例 #7
0
 /// <summary>
 /// Enqueue drone's output data for autopilot handling based on current objective.
 /// </summary>
 /// <param name="aData">Output data to be enqueued</param>
 public void EnqueueOutput(Apparatus.Output aData)
 {
     ApparatusOutputQueue.Enqueue(aData);
 }
コード例 #8
0
ファイル: Altitude.cs プロジェクト: Rutoka/AR.Drone
 public override void Contribute(Output aApparatusOutput, ref Input aApparatusInput)
 {
     float altitude = Arithmetics.KeepInRange(aApparatusOutput.Navigation.Altitude, Min, Max);
     aApparatusInput.Gaz = Arithmetics.KeepInRange(Diff(altitude)*Agression, Input.Limits.Gaz.Min, Input.Limits.Gaz.Max);
 }
コード例 #9
0
ファイル: VelocityX.cs プロジェクト: WindAzure/AutoCopter
 public override void Contribute(Output aApparatusOutput, ref Input aApparatusInput)
 {
     aApparatusInput.Pitch = -CalculateVelocityManeuver(aApparatusOutput.Navigation.Velocity.X);
 }
コード例 #10
0
ファイル: IntentObtainer.cs プロジェクト: Rutoka/AR.Drone
 public abstract void Contribute(Output aApparatusOutput, ref Input aApparatusInput);
コード例 #11
0
ファイル: Autopilot.cs プロジェクト: Rutoka/AR.Drone
 // Event method for 'DroneClient.NavigationPacketAcquired' action
 private void NavigationDataAcquired(NavigationData aPacket)
 {
     if (Active)
     {
         var data = new Apparatus.Output {Navigation = aPacket, LastInput = LastInput};
         EnqueueOutput(data);
     }
 }