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: Felix Ruess
Subject: Re: [Paparazzi-devel] Using Paparazzi board as failsafe
Date: Sat, 25 Sep 2010 14:57:07 +0200

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
>



reply via email to

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