paparazzi-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Paparazzi-devel] YAPA2 setup for fixed wing


From: Rolf Noellenburg
Subject: Re: [Paparazzi-devel] YAPA2 setup for fixed wing
Date: Sun, 02 Nov 2014 01:07:47 +0100
User-agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0

Hello Bob,

did you read the wiki entry about the configuration of fixedwing airframes?
http://wiki.paparazziuav.org/wiki/Fixedwing_Configuration

There is a link given to the explanation of the various control loops:
http://wiki.paparazziuav.org/wiki/Control_Loops

Some information concerning the use of airspeed sensors:
http://wiki.paparazziuav.org/wiki/Airspeed_sensor

You should really take the time and read the Wiki. Many questions your asked are answered there and you will earn a better understanding of the whole system.

If there will be remaining specific questions: feel free to ask.


Best regards
Rolf


Am 01.11.2014 21:07, schrieb Robert:
Rolf,

thank you!
Yes, after digging through all these airframe files I altered one rather
comprehensive one with funjet settings. The result is attached to this text.
It can be compiled with paparazzi center without faults (only minor
warnings).

My current issue with it is:  I cant predict at all how this whole set of
defines might work out. For instance this:
I added a set of parameters obviously needed for the Eagle Tree airspeed
sensor, like this:

   <section name="VERTICAL CONTROL" prefix="V_CTL_">
     <define name="POWER_CTL_BAT_NOMINAL" value="11.1" unit="volt"/>
<define name="ALTITUDE_PGAIN" value="0.06"/> <define name="ALTITUDE_MAX_CLIMB" value="2."/> <define name="AUTO_THROTTLE_NOMINAL_CRUISE_THROTTLE" value="0.45"/>
     <define name="AUTO_THROTTLE_MIN_CRUISE_THROTTLE" value="0.35"/>
     <define name="AUTO_THROTTLE_MAX_CRUISE_THROTTLE" value="0.85"/>
     <define name="AUTO_THROTTLE_LOITER_TRIM" value="1000"/>
     <define name="AUTO_THROTTLE_DASH_TRIM" value="-1200"/>
     <define name="AUTO_THROTTLE_CLIMB_THROTTLE_INCREMENT" value="0.2"
unit="%/(m/s)"/>
     <define name="AUTO_THROTTLE_PGAIN" value="0.02"/>
     <define name="AUTO_THROTTLE_IGAIN" value="0.01"/>
     <define name="AUTO_THROTTLE_PITCH_OF_VZ_PGAIN" value="0.05"/>

now this part was added from another airframe file

     <define name="AUTO_AIRSPEED_SETPOINT" value="12.5" unit="m/s"/>
     <define name="AUTO_AIRSPEED_PGAIN" value="0.060"/>
     <define name="AUTO_AIRSPEED_IGAIN" value="0.050"/>
     <define name="AUTO_GROUNDSPEED_SETPOINT" value="6.0" unit="m/s"/>
     <define name="AUTO_GROUNDSPEED_PGAIN" value="0.75"/>
     <define name="AUTO_GROUNDSPEED_IGAIN" value="0.25"/>

up to here

     <define name="AUTO_PITCH_PGAIN" value="0.06"/>
     <define name="AUTO_PITCH_IGAIN" value="0.0"/>
     <define name="AUTO_PITCH_MAX_PITCH" value="0.35"/>
     <define name="AUTO_PITCH_MIN_PITCH" value="-0.35"/>

     <define name="THROTTLE_SLEW" value="0.1"/>
   </section>


I am totally unsure about the airspeed sensor related parameters and values
in this part of the vertical control section. While I changed all the rest
to funjet-settings, the airspeed part was taken from another airframe file
and most probably doesnt match.
General question: Where can I look up all these settings? only go through
the sources?


Thank you
Best Regards
Bob




Annex: here is the airframe file

<!DOCTYPE airframe SYSTEM &quot;../airframe.dtd&quot;>

<airframe name="Funjet">
   <firmware name="fixedwing">
     <define name="USE_I2C0"/>
     <define name="USE_I2C1"/>

     <define name="AGR_CLIMB"/>
     <define name="TUNE_AGRESSIVE_CLIMB"/>
     <define name="STRONG_WIND"/>
     <define name="WIND_INFO"/>
     <define name="WIND_INFO_RET"/>
     <define name="LOITER_TRIM"/>

     <define name="USE_AIRSPEED"/>
     <define name="USE_BARO_MS5611"/>
     <configure name="USE_MAGNETOMETER" value="FALSE"/>

     <target name="ap" board="yapa_2.0"/>
     <target name="sim" board="pc"/>

     <configure name="SYS_TIME_LED" value="1"/>
     <configure name="RADIO_CONTROL_LED" value="2"/>
     <configure name="GPS_LED" value="3"/>

     <subsystem name="radio_control" type="ppm"/>
<subsystem name="telemetry" type="transparent">
       <configure name="MODEM_BAUD" value="B57600"/>
     </subsystem>
<subsystem name="gps" type="ublox"/> <subsystem name="control"/>
     <subsystem name="navigation"/>

<subsystem name="ins" type="alt_float"/> <subsystem name="ahrs" type="int_cmpl_quat"/>

<subsystem name="imu" type="drotek_10dof_v2">
       <configure name="DROTEK_2_I2C_DEV" value="i2c0"/>
       <define name="DROTEK_2_MPU_I2C_ADDR" value="MPU60X0_ADDR"/>
       <define name="IMU_DROTEK_2_ORIENTATION_IC_UP" value="1"/>
     </subsystem>

   </firmware>

   <modules>
     <load name="nav_line.xml"/>

<load name="baro_ms5611_i2c.xml"/>
       <define name="MS5611_I2C_DEV" value="i2c2"/>
       <define name="MS5611_SLAVE_ADDR=0xEE"/>
       <define name="MS5611_SEND_BARO_ALTITUDE"/>
       <define name="SENSOR_SYNC_SEND"/>
     <load name="airspeed_ets.xml"/>

   </modules>

   <servos>
     <servo name="THROTTLE" no="0" min="1000" neutral="1000" max="2000"/>
     <servo name="AILERON_LEFT" no="1" min="900" neutral="1500" max="2100"/>
     <servo name="AILERON_RIGHT" no="3" min="900" neutral="1500" max="2100"/>
   </servos>

   <commands>
     <axis name="THROTTLE" failsafe_value="0"/>
     <axis name="ROLL" failsafe_value="0"/>
     <axis name="PITCH" failsafe_value="0"/>
   </commands>

   <rc_commands>
     <set command="THROTTLE" value="@THROTTLE"/>
     <set command="ROLL" value="@ROLL"/>
     <set command="PITCH" value="@PITCH"/>
   </rc_commands>

   <section name="AUTO1" prefix="AUTO1_">
     <define name="MAX_ROLL" value="RadOfDeg(85)"/>
     <define name="MAX_PITCH" value="RadOfDeg(45)"/>
   </section>

   <command_laws>
     <let var="aileron"          value="@ROLL  * 0.3"/>
     <let var="elevator"         value="@PITCH * 0.7"/>
     <set servo="THROTTLE"       value="@THROTTLE"/>
     <set servo="AILERON_LEFT"   value="$elevator + $aileron"/>
     <set servo="AILERON_RIGHT"  value="$elevator - $aileron"/>
   </command_laws>

   <section name="FAILSAFE" prefix="FAILSAFE_">
     <define name="DEFAULT_THROTTLE" value="0.35" unit="%"/>
     <define name="DEFAULT_ROLL" value="0.3" unit="rad"/>
     <define name="DEFAULT_PITCH" value="0.5" unit="rad"/>
     <define name="HOME_RADIUS" value="100" unit="m"/>
     <define name="DELAY_WITHOUT_GPS" value="3" unit="s"/>
   </section>


   <section name="VERTICAL CONTROL" prefix="V_CTL_">
     <define name="POWER_CTL_BAT_NOMINAL" value="11.1" unit="volt"/>
<define name="ALTITUDE_PGAIN" value="0.06"/> <define name="ALTITUDE_MAX_CLIMB" value="2."/> <define name="AUTO_THROTTLE_NOMINAL_CRUISE_THROTTLE" value="0.45"/>
     <define name="AUTO_THROTTLE_MIN_CRUISE_THROTTLE" value="0.35"/>
     <define name="AUTO_THROTTLE_MAX_CRUISE_THROTTLE" value="0.85"/>
     <define name="AUTO_THROTTLE_LOITER_TRIM" value="1000"/>
     <define name="AUTO_THROTTLE_DASH_TRIM" value="-1200"/>
     <define name="AUTO_THROTTLE_CLIMB_THROTTLE_INCREMENT" value="0.2"
unit="%/(m/s)"/>
     <define name="AUTO_THROTTLE_PGAIN" value="0.02"/>
     <define name="AUTO_THROTTLE_IGAIN" value="0.01"/>
     <define name="AUTO_THROTTLE_PITCH_OF_VZ_PGAIN" value="0.05"/>

     <define name="AUTO_AIRSPEED_SETPOINT" value="12.5" unit="m/s"/>
     <define name="AUTO_AIRSPEED_PGAIN" value="0.060"/>
     <define name="AUTO_AIRSPEED_IGAIN" value="0.050"/>
     <define name="AUTO_GROUNDSPEED_SETPOINT" value="6.0" unit="m/s"/>
     <define name="AUTO_GROUNDSPEED_PGAIN" value="0.75"/>
     <define name="AUTO_GROUNDSPEED_IGAIN" value="0.25"/>

     <define name="AUTO_PITCH_PGAIN" value="0.06"/>
     <define name="AUTO_PITCH_IGAIN" value="0.0"/>
     <define name="AUTO_PITCH_MAX_PITCH" value="0.35"/>
     <define name="AUTO_PITCH_MIN_PITCH" value="-0.35"/>

     <define name="THROTTLE_SLEW" value="0.1"/>
   </section>

   <section name="HORIZONTAL CONTROL" prefix="H_CTL_">
     <define name="COURSE_PGAIN" value="0.90"/>
     <define name="COURSE_DGAIN" value="0.35"/>

     <define name="ROLL_MAX_SETPOINT" value="0.70" unit="rad"/>
     <define name="PITCH_MAX_SETPOINT" value="0.5" unit="rad"/>
     <define name="PITCH_MIN_SETPOINT" value="-0.5" unit="rad"/>

     <define name="PITCH_PGAIN" value="5500."/>
     <define name="PITCH_DGAIN" value="0.4"/>
     <define name="ELEVATOR_OF_ROLL" value="2400"/>

     <define name="ROLL_ATTITUDE_GAIN" value="10000"/>
     <define name="ROLL_RATE_GAIN" value="800"/>
   </section>

   <section name="AGGRESSIVE" prefix="AGR_">
     <define name="BLEND_START" value="30"/>
     <define name="BLEND_END" value="15"/>
     <define name="CLIMB_THROTTLE" value="0.9"/>
     <define name="CLIMB_PITCH" value="0.35"/>
     <define name="DESCENT_THROTTLE" value="0.05"/>
     <define name="DESCENT_PITCH" value="-0.35"/>
     <define name="CLIMB_NAV_RATIO" value="0.8"/>
     <define name="DESCENT_NAV_RATIO" value="1.0"/>
   </section>

   <section name="BAT">
     <define name="LOW_BAT_LEVEL" value="10.5" unit="V"/>
     <define name="CRITIC_BAT_LEVEL" value="10" unit="V"/>
     <define name="CATASTROPHIC_BAT_LEVEL" value="9.3" unit="V"/>
   </section>

   <section name="MISC">
     <define name="NOMINAL_AIRSPEED" value="14." unit="m/s"/>
     <define name="CARROT" value="5." unit="s"/>
     <define name="KILL_MODE_DISTANCE" value="(MAX_DIST_FROM_HOME*1.5)"/>
<define name="DEFAULT_CIRCLE_RADIUS" value="75."/> </section>

   </airframe>














--
View this message in context: 
http://lists.paparazziuav.org/YAPA2-setup-for-fixed-wing-tp16260p16303.html
Sent from the paparazzi-devel mailing list archive at Nabble.com.

_______________________________________________
Paparazzi-devel mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/paparazzi-devel



---
Diese E-Mail ist frei von Viren und Malware, denn der avast! Antivirus Schutz 
ist aktiv.
http://www.avast.com




reply via email to

[Prev in Thread] Current Thread [Next in Thread]