2011-02-22 23:03:32 +01:00
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>StabilizationWidget</class>
<widget class="QWidget" name="StabilizationWidget">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>639</width>
2011-02-24 00:06:35 +01:00
<height>465</height>
2011-02-22 23:03:32 +01:00
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
2011-02-24 00:06:35 +01:00
<layout class="QVBoxLayout" name="verticalLayout_3">
2011-02-22 23:03:32 +01:00
<item>
2011-02-24 00:06:35 +01:00
<widget class="QTabWidget" name="piFactors">
2011-02-22 23:03:32 +01:00
<property name="currentIndex">
<number>0</number>
</property>
<widget class="QWidget" name="tab">
<attribute name="title">
2011-02-24 00:06:35 +01:00
<string>PI Factors</string>
2011-02-22 23:03:32 +01:00
</attribute>
2011-02-24 00:06:35 +01:00
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
2011-02-26 00:05:23 +01:00
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QLabel" name="label_8">
<property name="text">
<string>Rate Stabilization (inner loop)</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="label_4">
<property name="text">
<string>Hint: read the toolips!</string>
</property>
</widget>
</item>
</layout>
2011-02-24 00:06:35 +01:00
</item>
<item>
<widget class="QFrame" name="frame_2">
<property name="toolTip">
<string>First, work on rate stabilization.</string>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="gridLayout" columnstretch="1,1,2,2,2">
<item row="1" column="1">
<widget class="QLabel" name="label_10">
<property name="text">
<string>Roll</string>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QDoubleSpinBox" name="rateRollKp">
<property name="toolTip">
2011-02-26 00:05:23 +01:00
<string>Slowly raise Kp until you start seeing clear oscillations when you fly.
Then lower the value by 20% or so.</string>
2011-02-24 00:06:35 +01:00
</property>
<property name="decimals">
<number>6</number>
</property>
<property name="singleStep">
<double>0.000100000000000</double>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="label_11">
<property name="text">
<string>Pitch</string>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QDoubleSpinBox" name="ratePitchKp">
2011-02-26 10:11:53 +01:00
<property name="toolTip">
<string>Slowly raise Kp until you start seeing clear oscillations when you fly.
Then lower the value by 20% or so.</string>
</property>
2011-02-24 00:06:35 +01:00
<property name="decimals">
<number>6</number>
</property>
<property name="singleStep">
<double>0.000100000000000</double>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QLabel" name="label_12">
<property name="text">
<string>Kp</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="1" column="3">
<widget class="QDoubleSpinBox" name="rateRollKi">
2011-02-26 10:11:53 +01:00
<property name="toolTip">
<string>I factor for rate stabilization is usually very low or even zero.</string>
</property>
2011-02-24 00:06:35 +01:00
<property name="decimals">
<number>6</number>
</property>
<property name="singleStep">
<double>0.000100000000000</double>
</property>
</widget>
</item>
<item row="2" column="3">
<widget class="QDoubleSpinBox" name="ratePitchKi">
2011-02-26 10:11:53 +01:00
<property name="toolTip">
<string>I factor for rate stabilization is usually very low or even zero.</string>
</property>
2011-02-24 00:06:35 +01:00
<property name="decimals">
<number>6</number>
</property>
<property name="singleStep">
<double>0.000100000000000</double>
</property>
</widget>
</item>
<item row="0" column="3">
<widget class="QLabel" name="label_13">
<property name="text">
<string>Ki</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="1" column="4">
<widget class="QDoubleSpinBox" name="rateRollILimit">
<property name="decimals">
<number>6</number>
</property>
<property name="singleStep">
<double>0.000100000000000</double>
</property>
</widget>
</item>
<item row="2" column="4">
<widget class="QDoubleSpinBox" name="ratePitchILimit">
<property name="decimals">
<number>6</number>
</property>
<property name="singleStep">
<double>0.000100000000000</double>
</property>
</widget>
</item>
<item row="0" column="4">
<widget class="QLabel" name="label_14">
<property name="text">
<string>ILimit</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="1" column="0" rowspan="2">
<widget class="QCheckBox" name="linkRateRP">
2011-02-26 10:11:53 +01:00
<property name="toolTip">
<string>If checked, the Roll and Pitch factors will be identical.
When you change one, the other is updated.</string>
</property>
2011-02-24 00:06:35 +01:00
<property name="text">
<string>Link</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="label_15">
<property name="text">
<string>Yaw</string>
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="QDoubleSpinBox" name="rateYawKp">
2011-02-26 10:11:53 +01:00
<property name="toolTip">
<string>Slowly raise Kp until you start seeing clear oscillations when you fly.
Then lower the value by 20% or so.
You can usually go for higher values for Yaw factors.</string>
</property>
2011-02-24 00:06:35 +01:00
<property name="decimals">
<number>6</number>
</property>
<property name="singleStep">
<double>0.000100000000000</double>
</property>
</widget>
</item>
<item row="3" column="3">
<widget class="QDoubleSpinBox" name="rateYawKi">
2011-02-26 10:11:53 +01:00
<property name="toolTip">
<string>I factor for rate stabilization is usually very low or even zero.</string>
</property>
2011-02-24 00:06:35 +01:00
<property name="decimals">
<number>6</number>
</property>
<property name="singleStep">
<double>0.000100000000000</double>
</property>
</widget>
</item>
<item row="3" column="4">
<widget class="QDoubleSpinBox" name="rateYawILimit">
<property name="decimals">
<number>6</number>
</property>
<property name="singleStep">
<double>0.000100000000000</double>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QLabel" name="label_9">
<property name="text">
<string>Attitude Stabilization (outer loop)</string>
</property>
</widget>
</item>
<item>
<widget class="QFrame" name="frame_3">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="gridLayout_2" columnstretch="1,1,2,2,2">
<item row="1" column="0" rowspan="2">
<widget class="QCheckBox" name="linkAttitudeRP">
2011-02-26 10:11:53 +01:00
<property name="toolTip">
<string>If checked, the Roll and Pitch factors will be identical.
When you change one, the other is updated.</string>
</property>
2011-02-24 00:06:35 +01:00
<property name="text">
<string>Link</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_16">
<property name="text">
<string>Roll</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="label_17">
<property name="text">
<string>Pitch</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="label_18">
<property name="text">
<string>Yaw</string>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QDoubleSpinBox" name="rollKp">
2011-02-26 00:05:23 +01:00
<property name="toolTip">
2011-02-26 10:11:53 +01:00
<string>Once Rate stabilization is done, you should increase the Kp factor until the airframe oscillates again, and go back down 20% or so.
</string>
2011-02-26 00:05:23 +01:00
</property>
2011-02-24 00:06:35 +01:00
<property name="decimals">
<number>6</number>
</property>
2011-02-25 22:17:07 +01:00
<property name="singleStep">
<double>0.100000000000000</double>
</property>
2011-02-24 00:06:35 +01:00
</widget>
</item>
<item row="2" column="2">
<widget class="QDoubleSpinBox" name="pitchKp">
2011-02-26 10:11:53 +01:00
<property name="toolTip">
<string>Once Rate stabilization is done, you should increase the Kp factor until the airframe oscillates again, and go back down 20% or so.
</string>
</property>
2011-02-24 00:06:35 +01:00
<property name="decimals">
<number>6</number>
</property>
2011-02-25 22:17:07 +01:00
<property name="singleStep">
<double>0.100000000000000</double>
</property>
2011-02-24 00:06:35 +01:00
</widget>
</item>
<item row="3" column="2">
<widget class="QDoubleSpinBox" name="yawKp">
2011-02-26 10:11:53 +01:00
<property name="toolTip">
<string>Once Rate stabilization is done, you should increase the Kp factor until the airframe oscillates again, and go back down 20% or so.
</string>
</property>
2011-02-24 00:06:35 +01:00
<property name="decimals">
<number>6</number>
</property>
2011-02-25 22:17:07 +01:00
<property name="singleStep">
<double>0.100000000000000</double>
</property>
2011-02-24 00:06:35 +01:00
</widget>
</item>
<item row="1" column="3">
<widget class="QDoubleSpinBox" name="rollKi">
2011-02-26 10:11:53 +01:00
<property name="toolTip">
<string>Ki can usually be almost identical to Kp.</string>
</property>
2011-02-24 00:06:35 +01:00
<property name="decimals">
<number>6</number>
</property>
2011-02-25 22:17:07 +01:00
<property name="singleStep">
<double>0.100000000000000</double>
</property>
2011-02-24 00:06:35 +01:00
</widget>
</item>
<item row="2" column="3">
<widget class="QDoubleSpinBox" name="pitchKi">
2011-02-26 10:11:53 +01:00
<property name="toolTip">
<string>Ki can usually be almost identical to Kp.</string>
</property>
2011-02-24 00:06:35 +01:00
<property name="decimals">
<number>6</number>
</property>
2011-02-25 22:17:07 +01:00
<property name="singleStep">
<double>0.100000000000000</double>
</property>
2011-02-24 00:06:35 +01:00
</widget>
</item>
<item row="3" column="3">
<widget class="QDoubleSpinBox" name="yawKi">
2011-02-26 10:11:53 +01:00
<property name="toolTip">
<string>Ki can usually be almost identical to Kp.</string>
</property>
2011-02-24 00:06:35 +01:00
<property name="decimals">
<number>6</number>
</property>
2011-02-25 22:17:07 +01:00
<property name="singleStep">
<double>0.100000000000000</double>
</property>
2011-02-24 00:06:35 +01:00
</widget>
</item>
<item row="1" column="4">
<widget class="QDoubleSpinBox" name="rollILimit">
2011-02-26 10:11:53 +01:00
<property name="toolTip">
<string>ILimit can be equal to three to four times Ki, but you can adjust
depending on whether your airframe is well balanced, and your
flying style.</string>
</property>
2011-02-24 00:06:35 +01:00
<property name="decimals">
<number>6</number>
</property>
2011-02-25 22:17:07 +01:00
<property name="singleStep">
<double>0.100000000000000</double>
</property>
2011-02-24 00:06:35 +01:00
</widget>
</item>
<item row="2" column="4">
<widget class="QDoubleSpinBox" name="pitchILimit">
2011-02-26 10:11:53 +01:00
<property name="toolTip">
<string>ILimit can be equal to three to four times Ki, but you can adjust
depending on whether your airframe is well balanced, and your
flying style.</string>
</property>
2011-02-24 00:06:35 +01:00
<property name="decimals">
<number>6</number>
</property>
2011-02-25 22:17:07 +01:00
<property name="singleStep">
<double>0.100000000000000</double>
</property>
2011-02-24 00:06:35 +01:00
</widget>
</item>
<item row="3" column="4">
<widget class="QDoubleSpinBox" name="yawILimit">
2011-02-26 10:11:53 +01:00
<property name="toolTip">
<string>ILimit can be equal to three to four times Ki, but you can adjust
depending on whether your airframe is well balanced, and your
flying style.</string>
</property>
2011-02-24 00:06:35 +01:00
<property name="decimals">
<number>6</number>
</property>
2011-02-25 22:17:07 +01:00
<property name="singleStep">
<double>0.100000000000000</double>
</property>
2011-02-24 00:06:35 +01:00
</widget>
</item>
<item row="0" column="2">
<widget class="QLabel" name="label_19">
<property name="text">
<string>Kp</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="0" column="3">
<widget class="QLabel" name="label_20">
<property name="text">
<string>Ki</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
<item row="0" column="4">
<widget class="QLabel" name="label_21">
<property name="text">
<string>ILimit</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QCheckBox" name="realTimeUpdates">
2011-02-26 10:11:53 +01:00
<property name="toolTip">
<string>If you check this, the GCS will udpate the stabilization factors
automatically every 300ms, which will help for fast tuning.</string>
</property>
2011-02-24 00:06:35 +01:00
<property name="text">
<string>Update in real time</string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
<widget class="QWidget" name="tab_2">
<attribute name="title">
<string>Limits</string>
</attribute>
2011-02-26 00:05:23 +01:00
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>Angle limits</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<widget class="QFrame" name="frame">
<property name="toolTip">
<string>In this area, you can setup the limits for roll, pitch and yaw in attitude mode, i.e. what max attitude the airframe will reach if the sticks are pushed to the max.</string>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QFormLayout" name="formLayout">
<property name="fieldGrowthPolicy">
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
</property>
<item row="0" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>RollMax</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QSpinBox" name="rollMax">
<property name="maximum">
<number>180</number>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>PitchMax</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QSpinBox" name="pitchMax">
<property name="maximum">
<number>180</number>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>YawMax</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QSpinBox" name="yawMax">
<property name="maximum">
<number>180</number>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
2011-02-24 00:06:35 +01:00
</widget>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<spacer name="horizontalSpacer">
2011-02-22 23:03:32 +01:00
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
2011-02-24 00:06:35 +01:00
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
2011-02-22 23:03:32 +01:00
</property>
2011-02-24 00:06:35 +01:00
</spacer>
</item>
<item>
<widget class="QPushButton" name="resetStabilizationToDefaults">
2011-02-26 00:05:23 +01:00
<property name="enabled">
<bool>false</bool>
</property>
<property name="toolTip">
<string>Not implemented yet.</string>
</property>
2011-02-22 23:03:32 +01:00
<property name="text">
2011-02-24 00:06:35 +01:00
<string>Reset to defaults</string>
2011-02-22 23:03:32 +01:00
</property>
</widget>
2011-02-24 00:06:35 +01:00
</item>
<item>
<widget class="QPushButton" name="getStabilizationCurrent">
2011-02-22 23:03:32 +01:00
<property name="text">
2011-02-24 00:06:35 +01:00
<string>Get Current</string>
2011-02-22 23:03:32 +01:00
</property>
</widget>
2011-02-24 00:06:35 +01:00
</item>
<item>
<widget class="QPushButton" name="saveStabilizationToRAM">
2011-02-22 23:03:32 +01:00
<property name="text">
<string>Save to RAM</string>
</property>
</widget>
2011-02-24 00:06:35 +01:00
</item>
<item>
<widget class="QPushButton" name="saveStabilizationToSD">
2011-02-22 23:03:32 +01:00
<property name="text">
<string>Save to SD</string>
</property>
</widget>
2011-02-24 00:06:35 +01:00
</item>
</layout>
2011-02-22 23:03:32 +01:00
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>