PX4 Firmware
PX4 Autopilot Software http://px4.io
vehicle_odometry.h
Go to the documentation of this file.
1 /****************************************************************************
2  *
3  * Copyright (C) 2013-2016 PX4 Development Team. All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  *
9  * 1. Redistributions of source code must retain the above copyright
10  * notice, this list of conditions and the following disclaimer.
11  * 2. Redistributions in binary form must reproduce the above copyright
12  * notice, this list of conditions and the following disclaimer in
13  * the documentation and/or other materials provided with the
14  * distribution.
15  * 3. Neither the name PX4 nor the names of its contributors may be
16  * used to endorse or promote products derived from this software
17  * without specific prior written permission.
18  *
19  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
22  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
23  * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
24  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
25  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
26  * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
27  * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
29  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30  * POSSIBILITY OF SUCH DAMAGE.
31  *
32  ****************************************************************************/
33 
34 /* Auto-generated by genmsg_cpp from file vehicle_odometry.msg */
35 
36 
37 #pragma once
38 
39 
40 #include <uORB/uORB.h>
41 
42 
43 #ifndef __cplusplus
44 #define VEHICLE_ODOMETRY_COVARIANCE_MATRIX_X_VARIANCE 0
45 #define VEHICLE_ODOMETRY_COVARIANCE_MATRIX_Y_VARIANCE 6
46 #define VEHICLE_ODOMETRY_COVARIANCE_MATRIX_Z_VARIANCE 11
47 #define VEHICLE_ODOMETRY_COVARIANCE_MATRIX_ROLL_VARIANCE 15
48 #define VEHICLE_ODOMETRY_COVARIANCE_MATRIX_PITCH_VARIANCE 18
49 #define VEHICLE_ODOMETRY_COVARIANCE_MATRIX_YAW_VARIANCE 20
50 #define VEHICLE_ODOMETRY_COVARIANCE_MATRIX_VX_VARIANCE 0
51 #define VEHICLE_ODOMETRY_COVARIANCE_MATRIX_VY_VARIANCE 6
52 #define VEHICLE_ODOMETRY_COVARIANCE_MATRIX_VZ_VARIANCE 11
53 #define VEHICLE_ODOMETRY_COVARIANCE_MATRIX_ROLLRATE_VARIANCE 15
54 #define VEHICLE_ODOMETRY_COVARIANCE_MATRIX_PITCHRATE_VARIANCE 18
55 #define VEHICLE_ODOMETRY_COVARIANCE_MATRIX_YAWRATE_VARIANCE 20
56 #define VEHICLE_ODOMETRY_LOCAL_FRAME_NED 0
57 #define VEHICLE_ODOMETRY_LOCAL_FRAME_ENU 1
58 #define VEHICLE_ODOMETRY_LOCAL_FRAME_OTHER 2
59 
60 #endif
61 
62 
63 #ifdef __cplusplus
65 #else
67 #endif
68  uint64_t timestamp;
69  float x;
70  float y;
71  float z;
72  float q[4];
73  float q_offset[4];
74  float pose_covariance[21];
75  float vx;
76  float vy;
77  float vz;
78  float rollspeed;
79  float pitchspeed;
80  float yawspeed;
81  float velocity_covariance[21];
82  uint8_t local_frame;
83  uint8_t _padding0[3]; // required for logger
84 
85 
86 #ifdef __cplusplus
87  static constexpr uint8_t COVARIANCE_MATRIX_X_VARIANCE = 0;
88  static constexpr uint8_t COVARIANCE_MATRIX_Y_VARIANCE = 6;
89  static constexpr uint8_t COVARIANCE_MATRIX_Z_VARIANCE = 11;
90  static constexpr uint8_t COVARIANCE_MATRIX_ROLL_VARIANCE = 15;
91  static constexpr uint8_t COVARIANCE_MATRIX_PITCH_VARIANCE = 18;
92  static constexpr uint8_t COVARIANCE_MATRIX_YAW_VARIANCE = 20;
93  static constexpr uint8_t COVARIANCE_MATRIX_VX_VARIANCE = 0;
94  static constexpr uint8_t COVARIANCE_MATRIX_VY_VARIANCE = 6;
95  static constexpr uint8_t COVARIANCE_MATRIX_VZ_VARIANCE = 11;
96  static constexpr uint8_t COVARIANCE_MATRIX_ROLLRATE_VARIANCE = 15;
97  static constexpr uint8_t COVARIANCE_MATRIX_PITCHRATE_VARIANCE = 18;
98  static constexpr uint8_t COVARIANCE_MATRIX_YAWRATE_VARIANCE = 20;
99  static constexpr uint8_t LOCAL_FRAME_NED = 0;
100  static constexpr uint8_t LOCAL_FRAME_ENU = 1;
101  static constexpr uint8_t LOCAL_FRAME_OTHER = 2;
102 
103 #endif
104 };
105 
106 /* register this as object request broker structure */
107 ORB_DECLARE(vehicle_odometry);
108 ORB_DECLARE(vehicle_mocap_odometry);
109 ORB_DECLARE(vehicle_visual_odometry);
110 ORB_DECLARE(vehicle_visual_odometry_aligned);
111 
112 
113 #ifdef __cplusplus
114 void print_message(const vehicle_odometry_s& message);
115 #endif
API for the uORB lightweight object broker.
Definition: I2C.hpp:51
ORB_DECLARE(vehicle_odometry)