[conf] outback airframes

closes #1044
This commit is contained in:
Felix Ruess
2014-12-17 02:58:24 +01:00
parent 603b40a513
commit 6a2f6aba3f
8 changed files with 1669 additions and 0 deletions
@@ -0,0 +1,24 @@
<conf>
<aircraft
name="Tester"
ac_id="1"
airframe="airframes/examples/microjet.xml"
radio="radios/cockpitSX.xml"
telemetry="telemetry/default_fixedwing.xml"
flight_plan="flight_plans/basic.xml"
settings="settings/fixedwing_basic.xml"
settings_modules="modules/nav_smooth.xml modules/infrared_adc.xml modules/tune_airspeed.xml"
gui_color="blue"
/>
<aircraft
name="VivifyMK1"
ac_id="217"
airframe="airframes/OpenUAS/openuas_vivify_mk1.xml"
radio="radios/dummy.xml"
telemetry="telemetry/default_fixedwing_imu_9k6.xml"
flight_plan="flight_plans/OpenUAS/openuas_obc2014_kingaroy.xml"
settings="settings/control/ctl_energy.xml [settings/estimation/ins_neutrals.xml] settings/estimation/ac_char.xml settings/fixedwing_basic.xml"
settings_modules="modules/air_data.xml modules/gps_ubx_ucenter.xml modules/airspeed_adc.xml modules/tune_airspeed.xml modules/photogrammetry_calculator.xml modules/nav_smooth.xml"
gui_color="#fffffac7c07a"
/>
</conf>
@@ -0,0 +1,177 @@
<control_panel name="paparazzi control panel">
<section name="variables">
<variable name="downlink_serial_port" value="/dev/ttyUSB0"/>
<variable name="fbw_serial_port" value="/dev/ttyS1"/>
<variable name="ap_serial_port" value="/dev/ttyS0"/>
<variable name="ivy_bus" value="127:2010"/>
<variable name="map" value="muret_UTM.xml"/>
<variable name="flight_plan" value="flight_plans/muret1.xml"/>
</section>
<section name="programs">
<program name="Server" command="sw/ground_segment/tmtc/server">
<arg flag="-b" variable="ivy_bus"/>
</program>
<program name="Data Link" command="sw/ground_segment/tmtc/link">
<arg flag="-b" variable="ivy_bus"/>
</program>
<program name="Link Combiner" command="sw/ground_segment/python/redundant_link/link_combiner.py"/>
<program name="Vision Results" command="sw/ext/ardrone2_vision/modules/ObstacleAvoidSkySegmentation/visionresult/visionresult"/>
<program name="GCS" command="sw/ground_segment/cockpit/gcs">
<arg flag="-speech"/>
<arg flag="-b" variable="ivy_bus"/>
</program>
<program name="Flight Plan Editor" command="sw/ground_segment/cockpit/gcs -edit"/>
<program name="Messages" command="sw/ground_segment/tmtc/messages">
<arg flag="-b" variable="ivy_bus"/>
</program>
<program name="Messages (Python)" command="sw/ground_segment/python/messages_app/messagesapp.py"/>
<program name="Settings" command="sw/ground_segment/tmtc/settings">
<arg flag="-b" variable="ivy_bus"/>
</program>
<program name="Settings (Python)" command="sw/ground_segment/python/settings_app/settingsapp.py"/>
<program name="GPSd position display" command="sw/ground_segment/tmtc/gpsd2ivy"/>
<program name="Log Plotter" command="sw/logalizer/plot"/>
<program name="Real-time Plotter" command="sw/logalizer/plotter"/>
<program name="Log File Player" command="sw/logalizer/play">
<arg flag="-b" variable="ivy_bus"/>
</program>
<program name="Simulator" command="sw/simulator/pprzsim-launch">
<arg flag="-b" variable="ivy_bus"/>
</program>
<program name="Joystick" command="sw/ground_segment/joystick/input2ivy">
<arg flag="-b" variable="ivy_bus"/>
</program>
<program name="Hardware in the Loop" command="sw/simulator/simhitl">
<arg flag="-fbw" variable="fbw_serial_port"/>
<arg flag="-ap" variable="ap_serial_port"/>
</program>
<program name="Environment Simulator" command="sw/simulator/gaia">
<arg flag="-b" variable="ivy_bus"/>
</program>
<program name="Http Server" command="sw/ground_segment/tmtc/boa"/>
<program name="Plot Meteo Profile" command="sw/logalizer/plotprofile"/>
<program name="Weather Station" command="sw/ground_segment/misc/davis2ivy">
<arg flag="-b" variable="ivy_bus"/>
<arg flag="-d" constant="/dev/ttyUSB1"/>
</program>
<program name="IvySerialBridge" command="sw/ground_segment/tmtc/ivy_serial_bridge"/>
<program name="Photolist" command="sw/tools/photolist/build/photolist | tee photolist.log -a"/>
<program name="Ivy2NMEAout" command="sw/ground_segment/misc/ivy2nmeaout">
<arg flag="-b" variable="ivy_bus"/>
<arg flag="-d" constant="/dev/ttyUSB1"/>
<arg flag="-s" constant="9600"/>
</program>
</section>
<section name="sessions">
<session name="OBC2014 Simulation FG">
<program name="GCS">
<arg flag="-layout" constant="./OpenUAS/openuas_obc2014_kingaroy.xml"/>
<arg flag="-maps_fill"/>
<arg flag="-zoom" constant=".5"/>
<arg flag="-track_size" constant="200"/>
<arg flag="-speech"/>
<arg flag="-maps_no_http"/>
</program>
<program name="Server">
<arg flag="-n"/>
</program>
<program name="Simulator">
<arg flag="-a" constant="VivifyMK1"/>
<arg flag="-t" constant="sim"/>
<arg flag="--boot"/>
<arg flag="--norc"/>
<arg flag="--fg_host" constant="127.0.0.1"/>
<arg flag="--fg_time_offset" constant="21600"/>
</program>
<program name="Environment Simulator"/>
</session>
<session name="OpenUAS Fieldtest">
<program name="Data Link">
<arg flag="-d" constant="/dev/ttyUSB0"/>
<arg flag="-uplink"/>
<arg flag="-s" constant="9600"/>
</program>
<program name="Server"/>
<program name="GCS">
<arg flag="-speech"/>
<arg flag="-maps_fill"/>
<arg flag="-mercator"/>
<arg flag="-maps_no_http"/>
<arg flag="-track_size" constant="300"/>
<arg flag="-zoom" constant="0.5"/>
</program>
<program name="Messages"/>
</session>
<session name="OpenUAS OBC2014">
<program name="Data Link">
<arg flag="-d" constant="/dev/ttyUSB0"/>
<arg flag="-uplink"/>
<arg flag="-s" constant="9600"/>
</program>
<program name="Server"/>
<program name="GCS">
<arg flag="-speech"/>
<arg flag="-mercator"/>
<arg flag="-maps_no_http"/>
<arg flag="-track_size" constant="300"/>
<arg flag="-zoom" constant="0.5"/>
</program>
<program name="Messages"/>
</session>
<session name="HITL">
<program name="Hardware in the Loop">
<arg flag="-a" constant="HITL"/>
<arg flag="-noground"/>
<arg flag="-boot"/>
</program>
<program name="GCS"/>
<program name="Data Link">
<arg flag="-s" constant="57600"/>
</program>
<program name="Server"/>
</session>
<session name="OpenUAS Simulation with OBC 2014 GUI">
<program name="GCS">
<arg flag="-speech"/>
<arg flag="-layout" constant="./OpenUAS/openuas_searchandrescue2014.xml"/>
<arg flag="-center" constant="'WGS84"/>
<arg flag="51.990" constant="4.378'"/>
<arg flag="-ref" constant="'WGS84"/>
<arg flag="51.990" constant="4.378'"/>
</program>
<program name="Server">
<arg flag="-n"/>
</program>
<program name="Simulator">
<arg flag="-a" constant="VivfifyMK1"/>
<arg flag="-boot"/>
<arg flag="-norc"/>
</program>
<program name="Environment Simulator"/>
</session>
<session name="OpenUAS Forward AC via UDP">
<program name="Ivy2Udp">
<arg flag="-b" constant="127:2010"/>
<arg flag="-h" constant="192.168.78.1"/>
<arg flag="-p" constant="4242"/>
<arg flag="-dp" constant="4243"/>
<arg flag="-id" constant="16"/>
</program>
</session>
<session name="OpenUAS USB0: Xtend Transparent @9600 with HW flowcontrol">
<program name="Data Link">
<arg flag="-d" constant="/dev/ttyUSB0"/>
<arg flag="-uplink"/>
<arg flag="-s" constant="9600"/>
<arg flag="-hfc"/>
</program>
<program name="Server"/>
<program name="GCS">
<arg flag="-speech"/>
<arg flag="-layout" constant="./OpenUAS/gcsHeering.xml"/>
</program>
<program name="Messages"/>
</session>
</section>
</control_panel>
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,116 @@
<!DOCTYPE flight_plan SYSTEM "../flight_plan.dtd">
<procedure>
<sectors>
<sector name="MissionBoundary" color="yellow">
<corner name="_MB1"/>
<corner name="_MB2"/>
<corner name="_MB7"/>
<corner name="_MB8"/>
<corner name="_MB9"/>
<corner name="_MB10"/>
<corner name="_MB11"/>
<corner name="_MB12"/>
<corner name="_MB13"/>
</sector>
<sector name="MissionBoundaryA" color="yellow">
<corner name="_MB1"/>
<corner name="_MB2"/>
<corner name="_MB7"/>
<corner name="_MB6"/>
<corner name="_MB13"/>
</sector>
<sector name="MissionBoundaryB" color="yellow">
<corner name="_MB6"/>
<corner name="_MB7"/>
<corner name="_MB8"/>
<corner name="_MB9"/>
<corner name="_MB10"/>
<corner name="_MB11"/>
<corner name="_MB12"/>
<corner name="_MB13"/>
</sector>
<sector name="AirportForbidden" color="red">
<corner name="_MB7"/>
<corner name="_MB6"/>
<corner name="_MB5"/>
<corner name="_MB4"/>
<corner name="_MB3"/>
</sector>
<sector name="AirportForbidden2" color="red">
<corner name="_MB3"/>
<corner name="_MB2"/>
<corner name="_MB7"/>
</sector>
</sectors>
<!-- ****************************** EXCEPTIONS ***************************** -->
<exceptions>
<!-- RC-Loss -->
<!-- Handled by FTD-Radio-Control -->
<!-- Datalink-Loss: -->
<!-- Handled in Mission Navigation -->
<!-- GPS-Failure: -->
<!-- Handled in Mission Navigation -->
<!-- Baro-Failure: -->
<!-- Inform Operator, Fly lower, keep flying on GPS -->
<!-- Hard GeoFence -->
<!-- TODO Maybe ADD aditional exception with 2 sec timer here just to be sure to avoid position GPS spikes or some other jitter issues -->
<exception cond="((!InsideMissionBoundary(GetPosX(), GetPosY())) || (InsideAirportForbidden(GetPosX(), GetPosY())) || (InsideAirportForbidden2(GetPosX(), GetPosY()))) && gps_has_been_good()" deroute="GeoFence"/>
<!-- Failure of Autopilot -->
<!-- FTD will failsafe if no commands arrive during 100ms -->
<!-- Failure of Geofence detection processor -->
<!-- FTD will failsafe if no heartbeat arrives from AP (with GPS) during 100ms -->
<!-- Soft Altitude GeoFence 2800ft MSL-->
<!-- RE_ENABLE CDW <exception cond="MoreThan(GetAmsl(), 2800) && gps_has_been_good()" deroute="AlmostHeightViolation" />-->
<!-- Hard Altitude GeoFence 3000ft MSL
Removed: because: theoretically impossible to climb 200ft without engine.
- Kill is as safe as Forcecrash, but happens lower.
- Only option to reach hard geofence = sensor failure: then the plane IS NOT TOO high, but the engine will be killed.
<exception cond="MoreThan(GetAmsl(), 3000) && gps_has_been_good()" deroute="HeightViolation" />
-->
<!-- Case of loss of GPS AND loss of datalink -->
<exception cond="And(datalink_time > 10, !GpsFixValid())" deroute="DatalinkAndGpsFailure"/>
</exceptions>
<blocks>
<!-- ******* Activate the irreversible Forced Crash Command to the Flight Termination Device ******** -->
<block name="GeoFence">
<call fun="ForceCrash()"/>
<circle radius="nav_radius" wp="STDBY"/> <!-- todo add a dynamic TDFORCEDCRASH point so to notify and have it in the log -->
</block>
<block name="AlmostHeightViolation">
<call fun="NavKillThrottle()"/>
<circle radius="nav_radius" wp="STDBY"/> <!-- todo add a dynamic TDFORCEDCRASH point so to notify and have it in the log -->
</block>
<block name="HeightViolation">
<call fun="ForceCrash()"/>
<circle radius="nav_radius" wp="STDBY"/> <!-- todo add a dynamic TDFORCEDCRASH point so to notify and have it in the log -->
</block>
<block name="DatalinkAndGpsFailure">
<call fun="ForceCrash()"/>
<circle radius="nav_radius" wp="STDBY"/> <!-- todo add a dynamic TDFORCEDCRASH point so to notify and have it in the log -->
</block>
<block name="ManualTerminateRequest" strip_button="FlightTermination" strip_icon="downdownend.png">
<call fun="ForceCrash()"/>
<circle radius="nav_radius" wp="STDBY"/> <!-- todo add a dynamic TDFORCEDCRASH point so to notify and have it in the log -->
</block>
</blocks>
</procedure>
@@ -0,0 +1,33 @@
<!DOCTYPE flight_plan SYSTEM "../flight_plan.dtd">
<procedure>
<waypoints>
<waypoint name="STDBY" x="0." y="-130." height="95."/>
<!-- DANGER, DEBUG ONLY Disable later on, used for FDT Debugging only -->
<waypoint name="TESTTOOFAR" x="800." y="-100." height="115."/><!-- DANGER, DEBUG ONLY Disable later on, used for FDT Debugging only -->
</waypoints>
<blocks>
<block name="Standby" strip_button="Standby" strip_icon="home.png">
<call fun="Fly()"/>
<!-- <set value="0" var="ap_state->commands[COMMAND_BRAKE]"/> -->
<circle alt="WaypointAlt(WP_STDBY)" radius="nav_radius" wp="STDBY"/>
</block>
<!--Below routes that are handy for testing only when in the field and performing several tests -->
<!--
<block name="Oval 1-2" strip_button="Oval (wp 1-2)" strip_icon="oval.png">
<oval p1="1" p2="2" radius="60"/>
</block>
-->
<!-- WARNING: LOSS OF AIRFRAME if FTD is fully operational and tested in real life-->
<!--
<block name="go too far">
<go wp="TOOFAR"/>
<circle wp="TOOFAR" radius="50"/>
TODO: extra comman in case exeption does not trigger? like <GO STDBY>
</block>
-->
</blocks>
</procedure>
@@ -0,0 +1,66 @@
<!DOCTYPE flight_plan SYSTEM "../flight_plan.dtd">
<!-- This is the Flightplan of Team OpenUAS from the Netherlands for use in the
Australian UAV Outback Challenge of 2014.
Read about this challenge here:
http://www.uavoutbackchallenge.com.au/
-->
<flight_plan alt="660" ground_alt="444" home_mode_height="120" lat0="-26.584781" lon0="151.842325" max_dist_from_home="10000" name="OpenUAS OBC2014" qfu="170" security_height="70">
<!-- ******************************* WAYPOINTS ***************************** -->
<waypoints>
<waypoint name="HOME" x="0" y="0"/>
<waypoint alt="478.0" lat="-26.589403" lon="151.841710" name="AF"/>
<waypoint alt="448.0" lat="-26.586158" lon="151.841054" name="TD"/>
<waypoint lat="-26.585196" lon="151.843425" name="AIRFIELDHOME"/>
<waypoint lat="-26.6072120000" lon="151.8453890000" name="COMMSHOLD"/>
<!-- MB = Mission Boundary -->
<waypoint lat="-26.5695640000" lon="151.8373730000" name="_MB1"/>
<waypoint lat="-26.5699560000" lon="151.8394050000" name="_MB2"/>
<waypoint lat="-26.5768230000" lon="151.8411420000" name="_MB3"/>
<waypoint lat="-26.5769900000" lon="151.8400450000" name="_MB4"/>
<waypoint lat="-26.5812271666" lon="151.8410624807" name="_MB5"/>
<waypoint lat="-26.5820599087" lon="151.8425026348" name="_MB6"/>
<waypoint lat="-26.5791790000" lon="151.8493290000" name="_MB7"/>
<waypoint lat="-26.580969444" lon="151.845194444" name="_MB7B"/><!-- 26°34'51.49"Z = 26.580969444 // 151°50'42.70"O -->
<waypoint lat="-26.5900093277" lon="151.8509739535" name="_MB8"/>
<waypoint lat="-26.6095740000" lon="151.8631000000" name="_MB9"/>
<waypoint lat="-26.5854833333" lon="151.8347500000" name="_MB9B"/><!-- 26°35'7.74"Z // 151°50'5.10"O -->
<waypoint lat="-26.6389580000" lon="151.8588390000" name="_MB10"/>
<waypoint lat="-26.6449723895" lon="151.8472241047" name="_MB11"/>
<waypoint lat="-26.6435720000" lon="151.8303500000" name="_MB12"/>
<waypoint lat="-26.5851387500" lon="151.8348293889" name="_MB13"/>
<!-- SA = Search Area -->
<waypoint lat="-26.6174450000" lon="151.8431840000" name="SA1"/>
<waypoint lat="-26.6191710000" lon="151.8555730000" name="SA2"/>
<waypoint lat="-26.6378430000" lon="151.8515970000" name="SA3"/>
<waypoint lat="-26.6388280000" lon="151.8491210000" name="SA4"/>
<waypoint lat="-26.6373930000" lon="151.8393860000" name="SA5"/>
<!-- Scrutineering Course -->
<waypoint lat="-26.5902280387" lon="151.8400929439" name="TST-1"/>
<waypoint lat="-26.5837620409" lon="151.8379376113" name="TST-2"/>
<waypoint lat="-26.5859618185" lon="151.8451373142" name="TST-3"/>
<!-- EL = Entry and Exit Lanes -->
<waypoint lat="-26.6072120000" lon="151.8453890000" name="EL1"/>
<waypoint lat="-26.6174980000" lon="151.8435670000" name="EL2"/>
<waypoint lat="-26.6183650000" lon="151.8497880000" name="EL3"/>
<waypoint lat="-26.6080920000" lon="151.8516460000" name="EL4"/>
<waypoint lat="-26.5940360000" lon="151.8427090000" name="AMAZED"/>
</waypoints>
<includes>
<include name="Mission" procedure="include_obc2014_mission.xml"/>
<include name="Safety" procedure="include_obc2014_safety.xml"/>
<include name="Testing" procedure="include_obc2014_testing.xml"/>
</includes>
<blocks>
<block name="Boot"/>
</blocks>
</flight_plan>
+48
View File
@@ -0,0 +1,48 @@
<?xml version="1.0"?>
<!-- $Id$
--
-- (c) 2003 Pascal Brisset, Antoine Drouin
--
-- This file is part of paparazzi.
--
-- paparazzi is free software; you can redistribute it and/or modify
-- it under the terms of the GNU General Public License as published by
-- the Free Software Foundation; either version 2, or (at your option)
-- any later version.
--
-- paparazzi is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- GNU General Public License for more details.
--
-- You should have received a copy of the GNU General Public License
-- along with paparazzi; see the file COPYING. If not, write to
-- the Free Software Foundation, 59 Temple Place - Suite 330,
-- Boston, MA 02111-1307, USA.
-->
<!--
-- Attributes of root (Radio) tag :
-- name: name of RC
-- data_min: min width of a pulse to be considered as a data pulse
-- data_max: max width of a pulse to be considered as a data pulse
-- sync_min: min width of a pulse to be considered as a synchro pulse
-- sync_max: max width of a pulse to be considered as a synchro pulse
-- min, max and sync are expressed in micro-seconds
-->
<!--
-- Attributes of channel tag :
-- ctl: name of the command on the transmitter - only for displaying
-- function: logical command
-- average: channel filtered through several frames (for discrete commands)
-- min: minimum pulse length (micro-seconds)
-- max: maximum pulse length (micro-seconds)
-- neutral: neutral pulse length (micro-seconds)
-- Note: a command may be reversed by exchanging min and max values
-->
<!DOCTYPE radio SYSTEM "radio.dtd">
<radio name="cockpitMM" data_min="900" data_max="2100" sync_min ="5000" sync_max ="15000" pulse_type="POSITIVE">
<channel ctl="A" function="THROTTLE" min="1120" neutral="1120" max="2000" average="0"/>
</radio>