9 changed files with 90 additions and 342 deletions
@ -0,0 +1,35 @@
@@ -0,0 +1,35 @@
|
||||
# this file is only used in the position_setpoint triple as a dependency |
||||
|
||||
uint8 SETPOINT_TYPE_POSITION=0 # position setpoint |
||||
uint8 SETPOINT_TYPE_VELOCITY=1 # velocity setpoint |
||||
uint8 SETPOINT_TYPE_LOITER=2 # loiter setpoint |
||||
uint8 SETPOINT_TYPE_TAKEOFF=3 # takeoff setpoint |
||||
uint8 SETPOINT_TYPE_LAND=4 # land setpoint, altitude must be ignored, descend until landing |
||||
uint8 SETPOINT_TYPE_IDLE=5 # do nothing, switch off motors or keep at idle speed (MC) |
||||
uint8 SETPOINT_TYPE_OFFBOARD=6 # setpoint in NED frame (x, y, z, vx, vy, vz) set by offboard |
||||
|
||||
bool valid # true if setpoint is valid |
||||
uint8 type # setpoint type to adjust behavior of position controller |
||||
float32 x # local position setpoint in m in NED |
||||
float32 y # local position setpoint in m in NED |
||||
float32 z # local position setpoint in m in NED |
||||
bool position_valid # true if local position setpoint valid |
||||
float32 vx # local velocity setpoint in m/s in NED |
||||
float32 vy # local velocity setpoint in m/s in NED |
||||
float32 vz # local velocity setpoint in m/s in NED |
||||
bool velocity_valid # true if local velocity setpoint valid |
||||
float64 lat # latitude, in deg |
||||
float64 lon # longitude, in deg |
||||
float32 alt # altitude AMSL, in m |
||||
float32 yaw # yaw (only for multirotors), in rad [-PI..PI), NaN = hold current yaw |
||||
bool yaw_valid # true if yaw setpoint valid |
||||
float32 yawspeed # yawspeed (only for multirotors, in rad/s) |
||||
bool yawspeed_valid # true if yawspeed setpoint valid |
||||
float32 loiter_radius # loiter radius (only for fixed wing), in m |
||||
int8 loiter_direction # loiter direction: 1 = CW, -1 = CCW |
||||
float32 pitch_min # minimal pitch angle for fixed wing takeoff waypoints |
||||
float32 a_x # acceleration x setpoint |
||||
float32 a_y # acceleration y setpoint |
||||
float32 a_z # acceleration z setpoint |
||||
bool acceleration_valid # true if acceleration setpoint is valid/should be used |
||||
bool acceleration_is_force # interprete acceleration as force |
@ -0,0 +1,8 @@
@@ -0,0 +1,8 @@
|
||||
# Global position setpoint triplet in WGS84 coordinates. |
||||
# This are the three next waypoints (or just the next two or one). |
||||
|
||||
px4/position_setpoint previous |
||||
px4/position_setpoint current |
||||
px4/position_setpoint next |
||||
|
||||
uint8 nav_state # report the navigation state |
@ -0,0 +1,4 @@
@@ -0,0 +1,4 @@
|
||||
# Velocity setpoint in NED frame |
||||
float32 vx # in m/s NED |
||||
float32 vy # in m/s NED |
||||
float32 vz # in m/s NED |
@ -0,0 +1,36 @@
@@ -0,0 +1,36 @@
|
||||
# Fused local position in NED. |
||||
|
||||
uint64 timestamp # Time of this estimate, in microseconds since system start |
||||
bool xy_valid # true if x and y are valid |
||||
bool z_valid # true if z is valid |
||||
bool v_xy_valid # true if vy and vy are valid |
||||
bool v_z_valid # true if vz is valid |
||||
|
||||
# Position in local NED frame |
||||
float32 x # X position in meters in NED earth-fixed frame |
||||
float32 y # X position in meters in NED earth-fixed frame |
||||
float32 z # Z position in meters in NED earth-fixed frame (negative altitude) |
||||
|
||||
# Velocity in NED frame |
||||
float32 vx # Ground X Speed (Latitude), m/s in NED |
||||
float32 vy # Ground Y Speed (Longitude), m/s in NED |
||||
float32 vz # Ground Z Speed (Altitude), m/s in NED |
||||
|
||||
# Heading |
||||
float32 yaw |
||||
|
||||
# Reference position in GPS / WGS84 frame |
||||
bool xy_global # true if position (x, y) is valid and has valid global reference (ref_lat, ref_lon) |
||||
bool z_global # true if z is valid and has valid global reference (ref_alt) |
||||
uint64 ref_timestamp # Time when reference position was set |
||||
float64 ref_lat # Reference point latitude in degrees |
||||
float64 ref_lon # Reference point longitude in degrees |
||||
float32 ref_alt # Reference altitude AMSL in meters, MUST be set to current (not at reference point!) ground level |
||||
|
||||
# Distance to surface |
||||
float32 dist_bottom # Distance to bottom surface (ground) |
||||
float32 dist_bottom_rate # Distance to bottom surface (ground) change rate |
||||
uint64 surface_bottom_timestamp # Time when new bottom surface found |
||||
bool dist_bottom_valid # true if distance to bottom surface is valid |
||||
float32 eph |
||||
float32 epv |
@ -0,0 +1,7 @@
@@ -0,0 +1,7 @@
|
||||
# Local position in NED frame |
||||
|
||||
uint64 timestamp # timestamp of the setpoint |
||||
float32 x # in meters NED |
||||
float32 y # in meters NED |
||||
float32 z # in meters NED |
||||
float32 yaw # in radians NED -PI..+PI |
@ -1,116 +0,0 @@
@@ -1,116 +0,0 @@
|
||||
/****************************************************************************
|
||||
* |
||||
* Copyright (C) 2013 PX4 Development Team. All rights reserved. |
||||
* |
||||
* Redistribution and use in source and binary forms, with or without |
||||
* modification, are permitted provided that the following conditions |
||||
* are met: |
||||
* |
||||
* 1. Redistributions of source code must retain the above copyright |
||||
* notice, this list of conditions and the following disclaimer. |
||||
* 2. Redistributions in binary form must reproduce the above copyright |
||||
* notice, this list of conditions and the following disclaimer in |
||||
* the documentation and/or other materials provided with the |
||||
* distribution. |
||||
* 3. Neither the name PX4 nor the names of its contributors may be |
||||
* used to endorse or promote products derived from this software |
||||
* without specific prior written permission. |
||||
* |
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS |
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE |
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, |
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, |
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS |
||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED |
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN |
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
||||
* POSSIBILITY OF SUCH DAMAGE. |
||||
* |
||||
****************************************************************************/ |
||||
|
||||
/**
|
||||
* @file mission_item_triplet.h |
||||
* Definition of the global WGS84 position setpoint uORB topic. |
||||
* |
||||
* @author Thomas Gubler <thomasgubler@student.ethz.ch> |
||||
* @author Julian Oes <joes@student.ethz.ch> |
||||
* @author Lorenz Meier <lm@inf.ethz.ch> |
||||
*/ |
||||
|
||||
#ifndef TOPIC_MISSION_ITEM_TRIPLET_H_ |
||||
#define TOPIC_MISSION_ITEM_TRIPLET_H_ |
||||
|
||||
#include <stdint.h> |
||||
#include <stdbool.h> |
||||
#include "../uORB.h" |
||||
|
||||
/**
|
||||
* @addtogroup topics |
||||
* @{ |
||||
*/ |
||||
|
||||
enum SETPOINT_TYPE |
||||
{ |
||||
SETPOINT_TYPE_POSITION = 0, /**< position setpoint */ |
||||
SETPOINT_TYPE_VELOCITY, /**< velocity setpoint */ |
||||
SETPOINT_TYPE_LOITER, /**< loiter setpoint */ |
||||
SETPOINT_TYPE_TAKEOFF, /**< takeoff setpoint */ |
||||
SETPOINT_TYPE_LAND, /**< land setpoint, altitude must be ignored, descend until landing */ |
||||
SETPOINT_TYPE_IDLE, /**< do nothing, switch off motors or keep at idle speed (MC) */ |
||||
SETPOINT_TYPE_OFFBOARD, /**< setpoint in NED frame (x, y, z, vx, vy, vz) set by offboard */ |
||||
}; |
||||
|
||||
struct position_setpoint_s |
||||
{ |
||||
bool valid; /**< true if setpoint is valid */ |
||||
enum SETPOINT_TYPE type; /**< setpoint type to adjust behavior of position controller */ |
||||
float x; /**< local position setpoint in m in NED */ |
||||
float y; /**< local position setpoint in m in NED */ |
||||
float z; /**< local position setpoint in m in NED */ |
||||
bool position_valid; /**< true if local position setpoint valid */ |
||||
float vx; /**< local velocity setpoint in m/s in NED */ |
||||
float vy; /**< local velocity setpoint in m/s in NED */ |
||||
float vz; /**< local velocity setpoint in m/s in NED */ |
||||
bool velocity_valid; /**< true if local velocity setpoint valid */ |
||||
double lat; /**< latitude, in deg */ |
||||
double lon; /**< longitude, in deg */ |
||||
float alt; /**< altitude AMSL, in m */ |
||||
float yaw; /**< yaw (only for multirotors), in rad [-PI..PI), NaN = hold current yaw */ |
||||
bool yaw_valid; /**< true if yaw setpoint valid */ |
||||
float yawspeed; /**< yawspeed (only for multirotors, in rad/s) */ |
||||
bool yawspeed_valid; /**< true if yawspeed setpoint valid */ |
||||
float loiter_radius; /**< loiter radius (only for fixed wing), in m */ |
||||
int8_t loiter_direction; /**< loiter direction: 1 = CW, -1 = CCW */ |
||||
float pitch_min; /**< minimal pitch angle for fixed wing takeoff waypoints */ |
||||
float a_x; //**< acceleration x setpoint */
|
||||
float a_y; //**< acceleration y setpoint */
|
||||
float a_z; //**< acceleration z setpoint */
|
||||
bool acceleration_valid; //*< true if acceleration setpoint is valid/should be used */
|
||||
bool acceleration_is_force; //*< interprete acceleration as force */
|
||||
}; |
||||
|
||||
/**
|
||||
* Global position setpoint triplet in WGS84 coordinates. |
||||
* |
||||
* This are the three next waypoints (or just the next two or one). |
||||
*/ |
||||
struct position_setpoint_triplet_s |
||||
{ |
||||
struct position_setpoint_s previous; |
||||
struct position_setpoint_s current; |
||||
struct position_setpoint_s next; |
||||
|
||||
unsigned nav_state; /**< report the navigation state */ |
||||
}; |
||||
|
||||
/**
|
||||
* @} |
||||
*/ |
||||
|
||||
/* register this as object request broker structure */ |
||||
ORB_DECLARE(position_setpoint_triplet); |
||||
|
||||
#endif |
@ -1,63 +0,0 @@
@@ -1,63 +0,0 @@
|
||||
/****************************************************************************
|
||||
* |
||||
* Copyright (C) 2013 PX4 Development Team. All rights reserved. |
||||
* Author: @author Anton Babushkin <anton.babushkin@me.com> |
||||
* |
||||
* Redistribution and use in source and binary forms, with or without |
||||
* modification, are permitted provided that the following conditions |
||||
* are met: |
||||
* |
||||
* 1. Redistributions of source code must retain the above copyright |
||||
* notice, this list of conditions and the following disclaimer. |
||||
* 2. Redistributions in binary form must reproduce the above copyright |
||||
* notice, this list of conditions and the following disclaimer in |
||||
* the documentation and/or other materials provided with the |
||||
* distribution. |
||||
* 3. Neither the name PX4 nor the names of its contributors may be |
||||
* used to endorse or promote products derived from this software |
||||
* without specific prior written permission. |
||||
* |
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS |
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE |
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, |
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, |
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS |
||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED |
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN |
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
||||
* POSSIBILITY OF SUCH DAMAGE. |
||||
* |
||||
****************************************************************************/ |
||||
|
||||
/**
|
||||
* @file vehicle_global_velocity_setpoint.h |
||||
* Definition of the global velocity setpoint uORB topic. |
||||
*/ |
||||
|
||||
#ifndef TOPIC_VEHICLE_GLOBAL_VELOCITY_SETPOINT_H_ |
||||
#define TOPIC_VEHICLE_GLOBAL_VELOCITY_SETPOINT_H_ |
||||
|
||||
#include "../uORB.h" |
||||
|
||||
/**
|
||||
* @addtogroup topics |
||||
* @{ |
||||
*/ |
||||
|
||||
struct vehicle_global_velocity_setpoint_s { |
||||
float vx; /**< in m/s NED */ |
||||
float vy; /**< in m/s NED */ |
||||
float vz; /**< in m/s NED */ |
||||
}; /**< Velocity setpoint in NED frame */ |
||||
|
||||
/**
|
||||
* @} |
||||
*/ |
||||
|
||||
/* register this as object request broker structure */ |
||||
ORB_DECLARE(vehicle_global_velocity_setpoint); |
||||
|
||||
#endif |
@ -1,96 +0,0 @@
@@ -1,96 +0,0 @@
|
||||
/****************************************************************************
|
||||
* |
||||
* Copyright (C) 2012 PX4 Development Team. All rights reserved. |
||||
* |
||||
* Redistribution and use in source and binary forms, with or without |
||||
* modification, are permitted provided that the following conditions |
||||
* are met: |
||||
* |
||||
* 1. Redistributions of source code must retain the above copyright |
||||
* notice, this list of conditions and the following disclaimer. |
||||
* 2. Redistributions in binary form must reproduce the above copyright |
||||
* notice, this list of conditions and the following disclaimer in |
||||
* the documentation and/or other materials provided with the |
||||
* distribution. |
||||
* 3. Neither the name PX4 nor the names of its contributors may be |
||||
* used to endorse or promote products derived from this software |
||||
* without specific prior written permission. |
||||
* |
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS |
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE |
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, |
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, |
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS |
||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED |
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN |
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
||||
* POSSIBILITY OF SUCH DAMAGE. |
||||
* |
||||
****************************************************************************/ |
||||
|
||||
/**
|
||||
* @file vehicle_local_position.h |
||||
* Definition of the local fused NED position uORB topic. |
||||
* |
||||
* @author Lorenz Meier <lm@inf.ethz.ch> |
||||
* @author Anton Babushkin <anton.babushkin@me.com> |
||||
*/ |
||||
|
||||
#ifndef TOPIC_VEHICLE_LOCAL_POSITION_H_ |
||||
#define TOPIC_VEHICLE_LOCAL_POSITION_H_ |
||||
|
||||
#include <stdint.h> |
||||
#include <stdbool.h> |
||||
#include "../uORB.h" |
||||
|
||||
/**
|
||||
* @addtogroup topics |
||||
* @{ |
||||
*/ |
||||
|
||||
/**
|
||||
* Fused local position in NED. |
||||
*/ |
||||
struct vehicle_local_position_s { |
||||
uint64_t timestamp; /**< Time of this estimate, in microseconds since system start */ |
||||
bool xy_valid; /**< true if x and y are valid */ |
||||
bool z_valid; /**< true if z is valid */ |
||||
bool v_xy_valid; /**< true if vy and vy are valid */ |
||||
bool v_z_valid; /**< true if vz is valid */ |
||||
/* Position in local NED frame */ |
||||
float x; /**< X position in meters in NED earth-fixed frame */ |
||||
float y; /**< X position in meters in NED earth-fixed frame */ |
||||
float z; /**< Z position in meters in NED earth-fixed frame (negative altitude) */ |
||||
/* Velocity in NED frame */ |
||||
float vx; /**< Ground X Speed (Latitude), m/s in NED */ |
||||
float vy; /**< Ground Y Speed (Longitude), m/s in NED */ |
||||
float vz; /**< Ground Z Speed (Altitude), m/s in NED */ |
||||
/* Heading */ |
||||
float yaw; |
||||
/* Reference position in GPS / WGS84 frame */ |
||||
bool xy_global; /**< true if position (x, y) is valid and has valid global reference (ref_lat, ref_lon) */ |
||||
bool z_global; /**< true if z is valid and has valid global reference (ref_alt) */ |
||||
uint64_t ref_timestamp; /**< Time when reference position was set */ |
||||
double ref_lat; /**< Reference point latitude in degrees */ |
||||
double ref_lon; /**< Reference point longitude in degrees */ |
||||
float ref_alt; /**< Reference altitude AMSL in meters, MUST be set to current (not at reference point!) ground level */ |
||||
/* Distance to surface */ |
||||
float dist_bottom; /**< Distance to bottom surface (ground) */ |
||||
float dist_bottom_rate; /**< Distance to bottom surface (ground) change rate */ |
||||
uint64_t surface_bottom_timestamp; /**< Time when new bottom surface found */ |
||||
bool dist_bottom_valid; /**< true if distance to bottom surface is valid */ |
||||
float eph; |
||||
float epv; |
||||
}; |
||||
|
||||
/**
|
||||
* @} |
||||
*/ |
||||
|
||||
/* register this as object request broker structure */ |
||||
ORB_DECLARE(vehicle_local_position); |
||||
|
||||
#endif |
@ -1,67 +0,0 @@
@@ -1,67 +0,0 @@
|
||||
/****************************************************************************
|
||||
* |
||||
* Copyright (C) 2012 PX4 Development Team. All rights reserved. |
||||
* Author: @author Thomas Gubler <thomasgubler@student.ethz.ch> |
||||
* @author Julian Oes <joes@student.ethz.ch> |
||||
* @author Lorenz Meier <lm@inf.ethz.ch> |
||||
* |
||||
* Redistribution and use in source and binary forms, with or without |
||||
* modification, are permitted provided that the following conditions |
||||
* are met: |
||||
* |
||||
* 1. Redistributions of source code must retain the above copyright |
||||
* notice, this list of conditions and the following disclaimer. |
||||
* 2. Redistributions in binary form must reproduce the above copyright |
||||
* notice, this list of conditions and the following disclaimer in |
||||
* the documentation and/or other materials provided with the |
||||
* distribution. |
||||
* 3. Neither the name PX4 nor the names of its contributors may be |
||||
* used to endorse or promote products derived from this software |
||||
* without specific prior written permission. |
||||
* |
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
||||
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
||||
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS |
||||
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE |
||||
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, |
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, |
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS |
||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED |
||||
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN |
||||
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
||||
* POSSIBILITY OF SUCH DAMAGE. |
||||
* |
||||
****************************************************************************/ |
||||
|
||||
/**
|
||||
* @file vehicle_local_position_setpoint.h |
||||
* Definition of the local NED position setpoint uORB topic. |
||||
*/ |
||||
|
||||
#ifndef TOPIC_VEHICLE_LOCAL_POSITION_SETPOINT_H_ |
||||
#define TOPIC_VEHICLE_LOCAL_POSITION_SETPOINT_H_ |
||||
|
||||
#include "../uORB.h" |
||||
|
||||
/**
|
||||
* @addtogroup topics |
||||
* @{ |
||||
*/ |
||||
|
||||
struct vehicle_local_position_setpoint_s { |
||||
uint64_t timestamp; /**< timestamp of the setpoint */ |
||||
float x; /**< in meters NED */ |
||||
float y; /**< in meters NED */ |
||||
float z; /**< in meters NED */ |
||||
float yaw; /**< in radians NED -PI..+PI */ |
||||
}; /**< Local position in NED frame */ |
||||
|
||||
/**
|
||||
* @} |
||||
*/ |
||||
|
||||
/* register this as object request broker structure */ |
||||
ORB_DECLARE(vehicle_local_position_setpoint); |
||||
|
||||
#endif |
Loading…
Reference in new issue