fixedwing landing with ultrasonic sensor

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

fixedwing landing with ultrasonic sensor

Tobias
Hi,

work is in progress :-)  
sensor is already installed and tested (made two flights)
unfortunately i m a little short on time right now but you can start wit something like this


    <block name="land">
      <call fun="gls_init(WP_AF,WP_SD, WP_TOD, WP_TD)"/>
      <call fun="nav_compute_baseleg(WP_AF, WP_TD, WP__BASELEG, nav_radius)"/>
      <circle radius="nav_radius" until="NavCircleCount() > 0.5" wp="_BASELEG"/>
      <circle radius="nav_radius" until="And(NavQdrCloseTo(DegOfRad(baseleg_out_qdr)-(nav_radius/fabs(nav_radius))*10), 10 > fabs(GetPosAlt() - WaypointAlt(WP__BASELEG)))" wp="_BASELEG"/>
    </block>
    <block name="final">
      <exception cond="(ground_alt + 10 > GetPosAlt())" deroute="final2"/>
      <call fun="gls(WP_AF,WP_SD, WP_TOD, WP_TD)"/>
    </block>
    <block name="final2">
      <exception cond="(2 > sonar_distance)" deroute="flare"/>
      <call fun="gls(WP_AF,WP_SD, WP_TOD, WP_TD)"/>
    </block>

the flare could be done by just reducing the airspeedsetpoint - at least with the energy control this will lead to a really smooth flare

for further implementation I recommend to use a separate function in guidance.c since this update rate is much higher.
but as I said work is in progress ;-)

cheers Tobi
_______________________________________________
Paparazzi-devel mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/paparazzi-devel
Reply | Threaded
Open this post in threaded view
|

Re: fixedwing landing with ultrasonic sensor

refik
Hi Tobias,

I'm glad to hear that. We can also help and test your work. We have
installed a SRF08 sensor.

By the way, energy control wants to increase the airspeed, sometimes by
diving. Will that create a problem in landing?  

Thanks,
Refik

-----Original Message-----
From: paparazzi-devel-bounces+refiksever=[hidden email]
[mailto:paparazzi-devel-bounces+refiksever=[hidden email]] On
Behalf Of Tobias
Sent: Monday, September 2, 2013 6:36 PM
To: PPZ
Subject: [Paparazzi-devel] fixedwing landing with ultrasonic sensor

Hi,

work is in progress :-)  
sensor is already installed and tested (made two flights) unfortunately i m
a little short on time right now but you can start wit something like this


    <block name="land">
      <call fun="gls_init(WP_AF,WP_SD, WP_TOD, WP_TD)"/>
      <call fun="nav_compute_baseleg(WP_AF, WP_TD, WP__BASELEG,
nav_radius)"/>
      <circle radius="nav_radius" until="NavCircleCount() > 0.5"
wp="_BASELEG"/>
      <circle radius="nav_radius"
until="And(NavQdrCloseTo(DegOfRad(baseleg_out_qdr)-(nav_radius/fabs(nav_radi
us))*10), 10 > fabs(GetPosAlt() - WaypointAlt(WP__BASELEG)))"
wp="_BASELEG"/>
    </block>
    <block name="final">
      <exception cond="(ground_alt + 10 > GetPosAlt())" deroute="final2"/>
      <call fun="gls(WP_AF,WP_SD, WP_TOD, WP_TD)"/>
    </block>
    <block name="final2">
      <exception cond="(2 > sonar_distance)" deroute="flare"/>
      <call fun="gls(WP_AF,WP_SD, WP_TOD, WP_TD)"/>
    </block>

the flare could be done by just reducing the airspeedsetpoint - at least
with the energy control this will lead to a really smooth flare

for further implementation I recommend to use a separate function in
guidance.c since this update rate is much higher.
but as I said work is in progress ;-)

cheers Tobi
_______________________________________________
Paparazzi-devel mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/paparazzi-devel


_______________________________________________
Paparazzi-devel mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/paparazzi-devel
Reply | Threaded
Open this post in threaded view
|

Re: fixedwing landing with ultrasonic sensor

Reto Büttner
The ZHAW (Switzerland) implemented an advanced Paparazzi landing using both ultrasonic sensor and angle of attack sensor:
The key to good landing is controlling the approach though a controlled AOA (Angle of Attack) for speed control and height via engine power (controls the total energy in the system). When there is time for flaring (when your sonar sensor gets some signal or one to two meters above ground) you increase the amount of AOA with some function (linear should be good enough for the start).
 
AOA can be measured with a vane (with a rotational sensor potentiometer) or by subtracting gps vector from airplane nose direction (might be the other way around).
 
I remember there was a branch from Paparazzi called ZHAW or similar. you might find some code there but I am not so sure...


2013/9/2 Refik Sever <[hidden email]>
Hi Tobias,

I'm glad to hear that. We can also help and test your work. We have
installed a SRF08 sensor.

By the way, energy control wants to increase the airspeed, sometimes by
diving. Will that create a problem in landing?

Thanks,
Refik

-----Original Message-----
From: paparazzi-devel-bounces+refiksever=[hidden email]
[mailto:[hidden email]=[hidden email]] On
Behalf Of Tobias
Sent: Monday, September 2, 2013 6:36 PM
To: PPZ
Subject: [Paparazzi-devel] fixedwing landing with ultrasonic sensor

Hi,

work is in progress :-)
sensor is already installed and tested (made two flights) unfortunately i m
a little short on time right now but you can start wit something like this


    <block name="land">
      <call fun="gls_init(WP_AF,WP_SD, WP_TOD, WP_TD)"/>
      <call fun="nav_compute_baseleg(WP_AF, WP_TD, WP__BASELEG,
nav_radius)"/>
      <circle radius="nav_radius" until="NavCircleCount() > 0.5"
wp="_BASELEG"/>
      <circle radius="nav_radius"
until="And(NavQdrCloseTo(DegOfRad(baseleg_out_qdr)-(nav_radius/fabs(nav_radi
us))*10), 10 > fabs(GetPosAlt() - WaypointAlt(WP__BASELEG)))"
wp="_BASELEG"/>
    </block>
    <block name="final">
      <exception cond="(ground_alt + 10 > GetPosAlt())" deroute="final2"/>
      <call fun="gls(WP_AF,WP_SD, WP_TOD, WP_TD)"/>
    </block>
    <block name="final2">
      <exception cond="(2 > sonar_distance)" deroute="flare"/>
      <call fun="gls(WP_AF,WP_SD, WP_TOD, WP_TD)"/>
    </block>

the flare could be done by just reducing the airspeedsetpoint - at least
with the energy control this will lead to a really smooth flare

for further implementation I recommend to use a separate function in
guidance.c since this update rate is much higher.
but as I said work is in progress ;-)

cheers Tobi
_______________________________________________
Paparazzi-devel mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/paparazzi-devel


_______________________________________________
Paparazzi-devel mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/paparazzi-devel


_______________________________________________
Paparazzi-devel mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/paparazzi-devel