mirror of
https://github.com/paparazzi/paparazzi.git
synced 2026-06-07 00:53:41 +08:00
[dox] add/fix doxygen file blocks for ahrs/ins subsystems
This commit is contained in:
@@ -19,6 +19,12 @@
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file subsystems/ahrs.c
|
||||
* Attitude and Heading Reference System interface.
|
||||
*/
|
||||
|
||||
|
||||
#include "subsystems/ahrs.h"
|
||||
|
||||
struct Ahrs ahrs;
|
||||
|
||||
@@ -19,8 +19,9 @@
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/** \file ahrs.h
|
||||
* \brief Attitude and Heading Reference System interface
|
||||
/**
|
||||
* @file subsystems/ahrs.h
|
||||
* Attitude and Heading Reference System interface.
|
||||
*/
|
||||
|
||||
#ifndef AHRS_H
|
||||
|
||||
@@ -19,6 +19,13 @@
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file subsystems/ahrs/ahrs_aligner.c
|
||||
*
|
||||
* Low-pass IMU measurements at startup to align the AHRS.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "ahrs_aligner.h"
|
||||
|
||||
#include <stdlib.h> /* for abs() */
|
||||
|
||||
@@ -19,6 +19,13 @@
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file subsystems/ahrs/ahrs_aligner.h
|
||||
*
|
||||
* Interface to align the AHRS via low-passed measurements at startup.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef AHRS_ALIGNER_H
|
||||
#define AHRS_ALIGNER_H
|
||||
|
||||
|
||||
@@ -19,6 +19,14 @@
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file subsystems/ahrs/ahrs_float_cmpl.c
|
||||
*
|
||||
* Complementary filter in float to estimate the attitude, heading and gyro bias.
|
||||
*
|
||||
* Propagation can be done in rotation matrix or quaternion representation.
|
||||
*/
|
||||
|
||||
#include "subsystems/ahrs.h"
|
||||
#include "subsystems/ahrs/ahrs_float_cmpl.h"
|
||||
#include "subsystems/ahrs/ahrs_float_utils.h"
|
||||
|
||||
@@ -19,6 +19,14 @@
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file subsystems/ahrs/ahrs_float_cmpl.h
|
||||
*
|
||||
* Complementary filter in float to estimate the attitude, heading and gyro bias.
|
||||
*
|
||||
* Propagation can be done in rotation matrix or quaternion representation.
|
||||
*/
|
||||
|
||||
#ifndef AHRS_FLOAT_CMPL
|
||||
#define AHRS_FLOAT_CMPL
|
||||
|
||||
|
||||
@@ -12,14 +12,17 @@
|
||||
*
|
||||
*/
|
||||
|
||||
/** \file ahrs_float_dcm.c
|
||||
* \brief Attitude estimation for fixedwings based on the DCM
|
||||
* Theory: http://code.google.com/p/gentlenav/downloads/list file DCMDraft2.pdf
|
||||
/**
|
||||
* @file subsystems/ahrs/ahrs_float_dcm.c
|
||||
*
|
||||
* Options:
|
||||
* -USE_HIGH_ACCEL_FLAG: no compensation when high accelerations present
|
||||
* -USE_MAGNETOMETER_ONGROUND: use magnetic compensation before takeoff only while GPS course not good
|
||||
* -USE_AHRS_GPS_ACCELERATIONS: forward acceleration compensation from GPS speed
|
||||
* Attitude estimation for fixedwings based on the DCM.
|
||||
*
|
||||
* Theory: http://code.google.com/p/gentlenav/downloads/list file DCMDraft2.pdf
|
||||
*
|
||||
* Options:
|
||||
* - USE_HIGH_ACCEL_FLAG: no compensation when high accelerations present
|
||||
* - USE_MAGNETOMETER_ONGROUND: use magnetic compensation before takeoff only while GPS course not good
|
||||
* - USE_AHRS_GPS_ACCELERATIONS: forward acceleration compensation from GPS speed
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
@@ -12,9 +12,12 @@
|
||||
*
|
||||
*/
|
||||
|
||||
/** \file ahrs_float_dcm.h
|
||||
* \brief Attitude estimation for fixedwings based on the DCM
|
||||
* Theory: http://code.google.com/p/gentlenav/downloads/list file DCMDraft2.pdf
|
||||
/**
|
||||
* @file subsystems/ahrs/ahrs_float_dcm.h
|
||||
*
|
||||
* Attitude estimation for fixedwings based on the DCM.
|
||||
*
|
||||
* Theory: http://code.google.com/p/gentlenav/downloads/list file DCMDraft2.pdf
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
@@ -1,4 +1,25 @@
|
||||
//Algebra helper functions for DCM
|
||||
/*
|
||||
* Released under Creative Commons License
|
||||
*
|
||||
* 2010 The Paparazzi Team
|
||||
*
|
||||
*
|
||||
* Based on Code by Jordi Munoz and William Premerlani, Supported by Chris Anderson (Wired) and Nathan Sindle (SparkFun).
|
||||
* Version 1.0 for flat board updated by Doug Weibel and Jose Julio
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file subsystems/ahrs/ahrs_float_dcm_algebra.h
|
||||
*
|
||||
* Algebra helper functions for DCM.
|
||||
*
|
||||
* @todo get rid of this and use pprz math lib.
|
||||
*/
|
||||
|
||||
#ifndef AHRS_FLOAT_DCM_ALGEBRA_H
|
||||
#define AHRS_FLOAT_DCM_ALGEBRA_H
|
||||
|
||||
|
||||
static inline float Vector_Dot_Product(float vector1[3],float vector2[3])
|
||||
{
|
||||
@@ -55,3 +76,5 @@ static inline void Matrix_Multiply(float a[3][3], float b[3][3],float mat[3][3])
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#endif // AHRS_FLOAT_DCM_ALGEBRA_H
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -20,6 +20,13 @@
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file subsystems/ahrs/ahrs_float_lkf.h
|
||||
*
|
||||
* Linearized Kalman Filter for attitude estimation.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef AHRS_FLOAT_LKF_H
|
||||
#define AHRS_FLOAT_LKF_H
|
||||
|
||||
|
||||
@@ -1,3 +1,32 @@
|
||||
/*
|
||||
* Copyright (C) 2009 Felix Ruess <felix.ruess@gmail.com>
|
||||
* Copyright (C) 2009 Antoine Drouin <poinix@gmail.com>
|
||||
*
|
||||
* This file is part of paparazzi.
|
||||
*
|
||||
* paparazzi is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* paparazzi is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with paparazzi; see the file COPYING. If not, write to
|
||||
* the Free Software Foundation, 59 Temple Place - Suite 330,
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file subsystems/ahrs/ahrs_float_utils.h
|
||||
*
|
||||
* Utility functions for floating point AHRS implementations.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef AHRS_FLOAT_UTILS_H
|
||||
#define AHRS_FLOAT_UTILS_H
|
||||
|
||||
|
||||
@@ -19,6 +19,16 @@
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file subsystems/ahrs/ahrs_infrared.c
|
||||
*
|
||||
* Attitude estimation using infrared sensors detecting the horizon.
|
||||
* For fixedwings only:
|
||||
* - GPS course is used as heading.
|
||||
* - ADC channels can be used for gyros.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "subsystems/ahrs/ahrs_infrared.h"
|
||||
|
||||
#include "subsystems/sensors/infrared.h"
|
||||
|
||||
@@ -19,6 +19,13 @@
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file subsystems/ahrs/ahrs_infrared.h
|
||||
*
|
||||
* Fixedwing attitude estimation using infrared sensors.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef AHRS_INFRARED_H
|
||||
#define AHRS_INFRARED_H
|
||||
|
||||
|
||||
@@ -19,6 +19,15 @@
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file subsystems/ahrs/ahrs_int_cmpl_euler.c
|
||||
*
|
||||
* Complementary filter in euler representation (fixed-point).
|
||||
*
|
||||
* Estimate the attitude, heading and gyro bias.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "ahrs_int_cmpl_euler.h"
|
||||
|
||||
#include "state.h"
|
||||
|
||||
@@ -19,6 +19,14 @@
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file subsystems/ahrs/ahrs_int_cmpl_euler.h
|
||||
*
|
||||
* Complementary filter in euler representation (fixed-point).
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef AHRS_INT_CMPL_EULER_H
|
||||
#define AHRS_INT_CMPL_EULER_H
|
||||
|
||||
|
||||
@@ -19,6 +19,14 @@
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file subsystems/ahrs/ahrs_int_cmpl_quat.c
|
||||
*
|
||||
* Quaternion complementary filter (fixed-point).
|
||||
*
|
||||
* Estimate the attitude, heading and gyro bias.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "subsystems/ahrs/ahrs_int_cmpl_quat.h"
|
||||
#include "subsystems/ahrs/ahrs_aligner.h"
|
||||
|
||||
@@ -19,6 +19,15 @@
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file subsystems/ahrs/ahrs_int_cmpl_quat.h
|
||||
*
|
||||
* Quaternion complementary filter (fixed-point).
|
||||
*
|
||||
* Estimate the attitude, heading and gyro bias.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef AHRS_INT_CMPL_H
|
||||
#define AHRS_INT_CMPL_H
|
||||
|
||||
|
||||
@@ -1,3 +1,32 @@
|
||||
/*
|
||||
* Copyright (C) 2009 Felix Ruess <felix.ruess@gmail.com>
|
||||
* Copyright (C) 2009 Antoine Drouin <poinix@gmail.com>
|
||||
*
|
||||
* This file is part of paparazzi.
|
||||
*
|
||||
* paparazzi is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2, or (at your option)
|
||||
* any later version.
|
||||
*
|
||||
* paparazzi is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with paparazzi; see the file COPYING. If not, write to
|
||||
* the Free Software Foundation, 59 Temple Place - Suite 330,
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file subsystems/ahrs/ahrs_int_utils.h
|
||||
*
|
||||
* Utility functions for fixed point AHRS implementations.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef AHRS_INT_UTILS_H
|
||||
#define AHRS_INT_UTILS_H
|
||||
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
#ifndef AHRS_MAGNETIC_FIELD_MODEL_H
|
||||
#define AHRS_MAGNETIC_FIELD_MODEL_H
|
||||
|
||||
#include "generated/airframe.h"
|
||||
|
||||
#ifndef AHRS_H_X
|
||||
@@ -8,3 +11,4 @@
|
||||
#define AHRS_H_Y 0
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
@@ -19,6 +19,12 @@
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file subsystems/ahrs/ahrs_sim.c
|
||||
*
|
||||
* Dummy plug to set the AHRS from the simple OCaml simulator.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "subsystems/ahrs.h"
|
||||
#include "subsystems/ahrs/ahrs_sim.h"
|
||||
|
||||
@@ -19,6 +19,13 @@
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file subsystems/ahrs/ahrs_sim.h
|
||||
*
|
||||
* Interface to set the AHRS from the simple OCaml simulator.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef AHRS_SIM_H
|
||||
#define AHRS_SIM_H
|
||||
|
||||
|
||||
@@ -19,7 +19,8 @@
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/** @file imu.c
|
||||
/**
|
||||
* @file subsystems/imu.c
|
||||
* Inertial Measurement Unit interface.
|
||||
*/
|
||||
|
||||
|
||||
@@ -18,8 +18,10 @@
|
||||
* the Free Software Foundation, 59 Temple Place - Suite 330,
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
/** \file imu.h
|
||||
* \brief Inertial Measurement Unit interface
|
||||
|
||||
/**
|
||||
* @file subsystems/imu.h
|
||||
* Inertial Measurement Unit interface.
|
||||
*/
|
||||
|
||||
#ifndef IMU_H
|
||||
|
||||
@@ -19,6 +19,12 @@
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file subsystems/ins.c
|
||||
* Integrated Navigation System interface.
|
||||
*/
|
||||
|
||||
|
||||
#include "subsystems/ins.h"
|
||||
|
||||
struct Ins ins;
|
||||
|
||||
@@ -19,6 +19,11 @@
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file subsystems/ins.h
|
||||
* Integrated Navigation System interface.
|
||||
*/
|
||||
|
||||
#ifndef INS_H
|
||||
#define INS_H
|
||||
|
||||
|
||||
@@ -20,6 +20,13 @@
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file subsystems/ins/hf_float.c
|
||||
*
|
||||
* Horizontal filter (x,y) to estimate position and velocity.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "subsystems/ins/hf_float.h"
|
||||
#include "subsystems/ins.h"
|
||||
#include "subsystems/imu.h"
|
||||
|
||||
@@ -19,6 +19,13 @@
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file subsystems/ins/hf_float.h
|
||||
*
|
||||
* Horizontal filter (x,y) to estimate position and velocity.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef HF_FLOAT_H
|
||||
#define HF_FLOAT_H
|
||||
|
||||
|
||||
@@ -19,8 +19,9 @@
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/** @file ins_alt_float.c
|
||||
* Filters altitude and climb rate.
|
||||
/**
|
||||
* @file subsystems/ins/ins_alt_float.c
|
||||
* Filters altitude and climb rate for fixedwings.
|
||||
*/
|
||||
|
||||
#include "subsystems/ins.h"
|
||||
|
||||
@@ -18,7 +18,11 @@
|
||||
* along with paparazzi; see the file COPYING. If not, write to
|
||||
* the Free Software Foundation, 59 Temple Place - Suite 330,
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file subsystems/ins/ins_alt_float.h
|
||||
* Filters altitude and climb rate for fixedwings.
|
||||
*/
|
||||
|
||||
#ifndef INS_ALT_FLOAT_H
|
||||
|
||||
@@ -19,7 +19,9 @@
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/** @file ins_gps_passthrough.c
|
||||
/**
|
||||
* @file subsystems/ins/ins_gps_passthrough.c
|
||||
*
|
||||
* Simply passes GPS position and velocity through to the state interface.
|
||||
*/
|
||||
|
||||
|
||||
@@ -19,6 +19,13 @@
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file subsystems/ins/ins_int.c
|
||||
*
|
||||
* INS for rotorcrafts combining vertical and horizontal filters.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "subsystems/ins/ins_int.h"
|
||||
|
||||
#include "subsystems/imu.h"
|
||||
|
||||
@@ -19,6 +19,13 @@
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file subsystems/ins/ins_int.h
|
||||
*
|
||||
* INS for rotorcrafts combining vertical and horizontal filters.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef INS_INT_H
|
||||
#define INS_INT_H
|
||||
|
||||
|
||||
@@ -20,6 +20,13 @@
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file subsystems/ins/ins_int_extended.c
|
||||
*
|
||||
* INS for rotorcrafts combining vertical and horizontal filters.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "subsystems/ins/ins_int.h"
|
||||
|
||||
#include "subsystems/imu.h"
|
||||
|
||||
@@ -20,6 +20,15 @@
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file subsystems/ins/vf_extended_float.c
|
||||
*
|
||||
* Extended vertical filter (in float).
|
||||
*
|
||||
* Estimates altitude, vertical speed, accelerometer bias
|
||||
* and barometer offset.
|
||||
*/
|
||||
|
||||
#include "subsystems/ins/vf_extended_float.h"
|
||||
|
||||
#define DEBUG_VFF_EXTENDED 1
|
||||
|
||||
@@ -20,6 +20,13 @@
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file subsystems/ins/vf_extended_float.h
|
||||
*
|
||||
* Interface for extended vertical filter (in float).
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef VF_EXTENDED_FLOAT_H
|
||||
#define VF_EXTENDED_FLOAT_H
|
||||
|
||||
|
||||
@@ -19,6 +19,13 @@
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file subsystems/ins/vf_float.c
|
||||
*
|
||||
* Vertical filter (in float) estimating altitude, velocity and accel bias.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "subsystems/ins/vf_float.h"
|
||||
|
||||
/*
|
||||
@@ -131,7 +138,7 @@ void vff_propagate(float accel) {
|
||||
// update covariance
|
||||
Pp = Pm - K*H*Pm;
|
||||
*/
|
||||
__attribute__ ((always_inline)) static inline void update_z_conf(float z_meas, float conf) {
|
||||
static inline void update_z_conf(float z_meas, float conf) {
|
||||
vff_z_meas = z_meas;
|
||||
|
||||
const float y = z_meas - vff_z;
|
||||
@@ -188,7 +195,7 @@ void vff_update_z_conf(float z_meas, float conf) {
|
||||
// update covariance
|
||||
Pp = Pm - K*H*Pm;
|
||||
*/
|
||||
__attribute__ ((always_inline)) static inline void update_vz_conf(float vz, float conf) {
|
||||
static inline void update_vz_conf(float vz, float conf) {
|
||||
const float yd = vz - vff_zdot;
|
||||
const float S = vff_P[1][1] + conf;
|
||||
const float K1 = vff_P[0][1] * 1/S;
|
||||
|
||||
@@ -19,6 +19,13 @@
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file subsystems/ins/vf_float.h
|
||||
*
|
||||
* Vertical filter (in float) estimating altitude, velocity and accel bias.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef VF_FLOAT_H
|
||||
#define VF_FLOAT_H
|
||||
|
||||
|
||||
@@ -19,6 +19,13 @@
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file subsystems/ins/vf_int.c
|
||||
*
|
||||
* Vertical filter (fixed-point) estimating altitude, velocity and accel bias.
|
||||
*
|
||||
*/
|
||||
|
||||
#include "subsystems/ins/vf_int.h"
|
||||
|
||||
#include "booz_geometry_mixed.h"
|
||||
|
||||
@@ -19,6 +19,13 @@
|
||||
* Boston, MA 02111-1307, USA.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file subsystems/ins/vf_int.h
|
||||
*
|
||||
* Vertical filter (fixed-point) estimating altitude, velocity and accel bias.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef VF_INT_H
|
||||
#define VF_INT_H
|
||||
|
||||
|
||||
Reference in New Issue
Block a user