aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--msg/position_setpoint.msg35
-rw-r--r--msg/position_setpoint_triplet.msg8
-rw-r--r--msg/vehicle_global_velocity_setpoint.msg4
-rw-r--r--msg/vehicle_local_position.msg36
-rw-r--r--msg/vehicle_local_position_setpoint.msg7
-rw-r--r--src/modules/uORB/topics/position_setpoint_triplet.h116
-rw-r--r--src/modules/uORB/topics/vehicle_global_velocity_setpoint.h63
-rw-r--r--src/modules/uORB/topics/vehicle_local_position.h96
-rw-r--r--src/modules/uORB/topics/vehicle_local_position_setpoint.h67
9 files changed, 90 insertions, 342 deletions
diff --git a/msg/position_setpoint.msg b/msg/position_setpoint.msg
new file mode 100644
index 000000000..ae6756aa8
--- /dev/null
+++ b/msg/position_setpoint.msg
@@ -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
diff --git a/msg/position_setpoint_triplet.msg b/msg/position_setpoint_triplet.msg
new file mode 100644
index 000000000..8717f65d0
--- /dev/null
+++ b/msg/position_setpoint_triplet.msg
@@ -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
diff --git a/msg/vehicle_global_velocity_setpoint.msg b/msg/vehicle_global_velocity_setpoint.msg
new file mode 100644
index 000000000..ca7dcc826
--- /dev/null
+++ b/msg/vehicle_global_velocity_setpoint.msg
@@ -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
diff --git a/msg/vehicle_local_position.msg b/msg/vehicle_local_position.msg
new file mode 100644
index 000000000..4da027ae7
--- /dev/null
+++ b/msg/vehicle_local_position.msg
@@ -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
diff --git a/msg/vehicle_local_position_setpoint.msg b/msg/vehicle_local_position_setpoint.msg
new file mode 100644
index 000000000..a2ff8a4ae
--- /dev/null
+++ b/msg/vehicle_local_position_setpoint.msg
@@ -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
diff --git a/src/modules/uORB/topics/position_setpoint_triplet.h b/src/modules/uORB/topics/position_setpoint_triplet.h
deleted file mode 100644
index cb2262534..000000000
--- a/src/modules/uORB/topics/position_setpoint_triplet.h
+++ /dev/null
@@ -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
diff --git a/src/modules/uORB/topics/vehicle_global_velocity_setpoint.h b/src/modules/uORB/topics/vehicle_global_velocity_setpoint.h
deleted file mode 100644
index 5dac877d0..000000000
--- a/src/modules/uORB/topics/vehicle_global_velocity_setpoint.h
+++ /dev/null
@@ -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
diff --git a/src/modules/uORB/topics/vehicle_local_position.h b/src/modules/uORB/topics/vehicle_local_position.h
deleted file mode 100644
index 8b46c5a3f..000000000
--- a/src/modules/uORB/topics/vehicle_local_position.h
+++ /dev/null
@@ -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
diff --git a/src/modules/uORB/topics/vehicle_local_position_setpoint.h b/src/modules/uORB/topics/vehicle_local_position_setpoint.h
deleted file mode 100644
index 6766bb58a..000000000
--- a/src/modules/uORB/topics/vehicle_local_position_setpoint.h
+++ /dev/null
@@ -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