paparazzi-devel
[Top][All Lists]
Advanced

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

Re: [Paparazzi-devel] Using Paparazzi board as failsafe


From: Nathan Aherne
Subject: Re: [Paparazzi-devel] Using Paparazzi board as failsafe
Date: Sun, 26 Sep 2010 12:01:00 +1000

I am writing this in the hope it may help others if they search for it in the 
archives.

I have had a look into this way of setting up the failsafe, and this is the way 
I was initially going to go. We are using the Paparazzi for logging and for 
sending the kill signal, it does not have direct control of any servos, we are 
using it to output to a multiplexor which in turns off main autopilot control 
and then does the aircraft killing. You could have paparazzi take care of the 
killing, but you would need to turnoff main autopilot control.

Kindest regards,
 
Nathan Aherne
Email: address@hidden
Mob: 0402 555 080

On 25/09/2010, at 11:02 PM, Felix Ruess wrote:

> you might also want to take a look at the EMAV2009.xml flight plan
> (which includes EMAV2009_safety.xml as a procedure)....
> 
> On Sat, Sep 25, 2010 at 2:57 PM, Felix Ruess <address@hidden> wrote:
>> Hi Nathan,
>> 
>> I just updated the servo_switch module a bit. I can't test it at the
>> moment, but it *should* work as advertised ;-)
>> 
>> Have a look at the mentor_tum.xml airframe... there it is used.
>> 
>> Now you only have to declare a servo in your airframe.xml that you
>> want to use. Previously you had to set up commands, command laws as
>> well.
>> 
>> By default the servo_switch module looks for a servo called SWITCH.
>> The switch on value is 2000us and switch off is 1000us by default.
>> If you want to use a different servo/values you can set that in the
>> modules section, e.g. for a servo named KILL:
>>  <load name="servo_switch.xml">
>>      <param name="SERVO_SWITCH_ON_VALUE"  value="1100"/>
>>      <param name="SERVO_SWITCH_OFF_VALUE" value="1900"/>
>>      <param name="SERVO_SWITCH_SERVO"     value="SERVO_KILL"/>
>>  </load>
>> 
>> In your flight plan you just call the makro defined in servo_switch.h
>>   <call fun="ServoSwitchOn()"/>
>> or
>>   <call fun="ServoSwitchOff()"/>
>> respectively.
>> 
>> Cheers, Felix
>> 
>> On Sat, Sep 25, 2010 at 8:51 AM, Nathan Aherne <address@hidden> wrote:
>>> Hi All,
>>> 
>>> I have updated my paparazzi code and found the servo switch module, this 
>>> should work fine fore me. What I would like to know is how to use this 
>>> module (how to call servo_switch from within the flight plan) and set the 
>>> servo to either min or max. Also how do I declare which servo output to use?
>>> 
>>> Kindest regards,
>>> 
>>> Nathan Aherne
>>> Email: address@hidden
>>> Mob: 0402 555 080
>>> 
>>> On 25/09/2010, at 3:37 PM, Nathan Aherne wrote:
>>> 
>>>> These are the relevant part of my flight plan in regards to the failsafe 
>>>> action. The rest is just some of the competition waypoints.
>>>> 
>>>> You will see I have implemented the Holdingpoint block so that the Kill 
>>>> block is not run. I would like to understand if there is an easier way to 
>>>> implement this crash failsafe than this, and output to a servo 1000ms or 
>>>> 2000ms. Thanks for your help in advance!
>>>> 
>>>>    <sector color="red" name="MissionBoundary">
>>>>      <corner name="MB1"/>
>>>>      <corner name="MB2"/>
>>>>      <corner name="MB3"/>
>>>>      <corner name="MB4"/>
>>>>      <corner name="MB5"/>
>>>>      <corner name="MB6"/>
>>>>      <corner name="MB7"/>
>>>>      <corner name="MB8"/>
>>>>      <corner name="MB9"/>
>>>>      <corner name="MB10"/>
>>>>      <corner name="MB11"/>
>>>>    </sector>
>>>>  </sectors>
>>>>  <exceptions>
>>>>      <exception cond="! InsideMissionBoundary(estimator_x, estimator_y)" 
>>>> deroute="Kill"/>
>>>>  </exceptions>
>>>>  <blocks>
>>>> <!-- FLIGHT PLAN -->
>>>>    <block name="Wait GPS">
>>>>      <set value="1" var="kill_throttle"/>
>>>>      <while cond="!GpsFixValid()"/>
>>>>    </block>
>>>>    <block name="Geo init">
>>>>      <while cond="LessThan(NavBlockTime(), 10)"/>
>>>>      <call fun="NavSetGroundReferenceHere()"/>
>>>>      <set value="0" var="estimator_flight_time"/>
>>>>    </block>
>>>>    <block name="Holding point">
>>>>      <call fun="NavSetWaypointHere(WP_STPT)"/>
>>>>      <set value="1" var="kill_throttle"/>
>>>>      <attitude roll="0" throttle="0" vmode="throttle"/>
>>>>    </block>
>>>>    <block key="c" name="KILL" strip_button="KILL" strip_icon="kill.png">
>>>>      <go wp="CRASH" vmode="throttle" pitch="kill_pitch"/>
>>>>    </block>
>>>> 
>>>> Kindest regards,
>>>> 
>>>> Nathan Aherne
>>>> Email: address@hidden
>>>> Mob: 0402 555 080
>>>> 
>>>> On 25/09/2010, at 2:58 PM, Nathan Aherne wrote:
>>>> 
>>>>> We would like to use the Paparazzi as a failsafe in this years outback 
>>>>> challenge, plus use its other features to control and report back certain 
>>>>> tests and conditions. We are using the paparazzi for this because it 
>>>>> supplies so much more data than our commercial autopilot.
>>>>> 
>>>>> The failsafe part just needs to output 2000ms or 1000ms on a servo output 
>>>>> if the aircraft goes over the mission boundary. I have already built some 
>>>>> code, but it seems there must be a simpler way to get the autpilot to do 
>>>>> this, could someone help me out with this one please? Some sample code 
>>>>> would be great and possibily an explanation of what I need to initialise.
>>>>> 
>>>>> I am only wanting to run the GPS, Xbee and TWOG if possible.
>>>>> 
>>>>> Thanks in advance!
>>>>> 
>>>>> Kindest regards,
>>>>> 
>>>>> Nathan Aherne
>>>>> Email: address@hidden
>>>>> Mob: 0402 555 080
>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> Paparazzi-devel mailing list
>>>>> address@hidden
>>>>> http://lists.nongnu.org/mailman/listinfo/paparazzi-devel
>>>> 
>>>> 
>>>> _______________________________________________
>>>> Paparazzi-devel mailing list
>>>> address@hidden
>>>> http://lists.nongnu.org/mailman/listinfo/paparazzi-devel
>>> 
>>> 
>>> _______________________________________________
>>> Paparazzi-devel mailing list
>>> address@hidden
>>> http://lists.nongnu.org/mailman/listinfo/paparazzi-devel
>>> 
>> 
> 
> _______________________________________________
> Paparazzi-devel mailing list
> address@hidden
> http://lists.nongnu.org/mailman/listinfo/paparazzi-devel




reply via email to

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