[dox] add/fix doxygen file blocks for ahrs/ins subsystems

This commit is contained in:
Felix Ruess
2013-01-18 18:07:40 +01:00
parent 930a3bb655
commit 82e4f5dc46
40 changed files with 884 additions and 578 deletions
+6
View File
@@ -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;
+3 -2
View File
@@ -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
+10 -7
View File
@@ -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
*
*/
+6 -3
View File
@@ -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
+6
View File
@@ -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"
+7
View File
@@ -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
+2 -1
View File
@@ -19,7 +19,8 @@
* Boston, MA 02111-1307, USA.
*/
/** @file imu.c
/**
* @file subsystems/imu.c
* Inertial Measurement Unit interface.
*/
+4 -2
View File
@@ -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
+6
View File
@@ -19,6 +19,12 @@
* Boston, MA 02111-1307, USA.
*/
/**
* @file subsystems/ins.c
* Integrated Navigation System interface.
*/
#include "subsystems/ins.h"
struct Ins ins;
+5
View File
@@ -19,6 +19,11 @@
* Boston, MA 02111-1307, USA.
*/
/**
* @file subsystems/ins.h
* Integrated Navigation System interface.
*/
#ifndef INS_H
#define INS_H
+7
View File
@@ -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"
+7
View File
@@ -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
+3 -2
View File
@@ -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"
+5 -1
View File
@@ -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.
*/
+7
View File
@@ -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"
+7
View File
@@ -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
+9 -2
View File
@@ -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;
+7
View File
@@ -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
+7
View File
@@ -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"
+7
View File
@@ -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