paparazzi-devel
[Top][All Lists]
Advanced

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

Re: [Paparazzi-devel] Appointment


From: Pascal Brisset
Subject: Re: [Paparazzi-devel] Appointment
Date: Thu, 14 Feb 2008 11:26:37 +0100
User-agent: Icedove 1.5.0.14pre (X11/20080208)

Hi,

Marcus Wolschon wrote:
So the aircraft is computing a circle to fly to arrive
at a given timestamp at a given location and altitude?
And a given course (here towards waypoint 2) :

First set a default timestamp, here 200s from now (GPS time of week in
seconds is used, there is an issue concerning week change):
    <set var="snav_desired_tow" value="gps_itow / 1000. + 200."/>

Computes the trajectory to go to waypoint 1, with a course towards 2,
with a given circle radius:
     <call fun="snav_init(WP_1,
M_PI_2-atan2(WaypointY(WP_2)-WaypointY(WP_1),WaypointX(WP_2)-WaypointX(WP_1)),

DEFAULT_CIRCLE_RADIUS/2.)"/>

Navigate to the waypoint 1:
     <call fun="snav_circle1()"/>
     <call fun="snav_route()"/>
     <call fun="snav_circle2()"/>

Circle next to the waypoint until timestamp is reached:
     <call fun="snav_on_time(DEFAULT_CIRCLE_RADIUS)"/>

Go to waypoint 2:
     <go from="1" hmode="route" wp="2"/>
What does the code do, if there is no solution?
In this example, the waypoint 1 is always reached, not taking into
account the time, using a shortest path with the given circle radius
(Gautier, could you give the reference for this trajectory ?)
snav_on_time() does the regulation and exits as soon as the timestamp
is reached, so immediately if the airplane arrives too late on waypoint 1.

This code is a first try to take into account time in navigation. I
hope contributors will propose a smarter solution !
Note that we did not measure the required CPU time :-(

--Pascal






reply via email to

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