AerialVehicleControl.jl
cont_math.h
Go to the documentation of this file.
1 /*******************************************************************************
2 * Copyright (C) Marcus Greiff 2020
3 *
4 * @file cont_math.h
5 * @author Marcus Greiff
6 * @date June 2020
7 *******************************************************************************/
8 #ifndef __CONT_MATH_H__
9 #define __CONT_MATH_H__
10 
11 #include "cont_matrix_math.h"
12 #include "math.h"
13 
14 #define CONT_MASS 0.1
15 #define CONT_GRAVACC 9.81
17 /***************************************************************************/
23 int cont_SU2_conjugate(matrix_double_t * qin, matrix_double_t * qout);
24 
25 /***************************************************************************/
33 
34 /***************************************************************************/
41 
42 /***************************************************************************/
49 
50 /***************************************************************************/
57 
58 /***************************************************************************/
78 int cont_SU2_triple( double a, double b, double c, matrix_double_t * out);
79 
80 /***************************************************************************/
90 
91 /***************************************************************************/
98 
99 /***************************************************************************/
106 
107 /***************************************************************************/
114 
115 /***************************************************************************/
122 
123 /***************************************************************************/
130 
131 /***************************************************************************/
141 
142 /***************************************************************************/
147 double cont_sinc(double x);
148 
149 /***************************************************************************/
155 double cont_dot_product(matrix_double_t * vecA, matrix_double_t * vecB);
156 
157 /***************************************************************************/
166 
167 /***************************************************************************/
173 double cont_sign_func(double in);
174 
175 /***************************************************************************/
182 
183 #endif /* __CONT_MATH.H__ */
cont_sign_func
double cont_sign_func(double in)
Takes the sign of the input, returning +1 if the input is zero.
Definition: cont_math.c:370
cont_cross_product
void cont_cross_product(matrix_double_t *inAm, matrix_double_t *inBm, matrix_double_t *outm)
Cross product operation, To be migrated to the cont_math stack.
Definition: cont_math.c:359
cont_sinc
double cont_sinc(double x)
Evaluates the sinc function as f(x) = sin(x)/x.
Definition: cont_math.c:333
cont_matrix_math.h
matrix_double_s
Matrix object used for all matrix manipulation.
Definition: cont_types.h:50
cont_SO3_hat
int cont_SO3_hat(matrix_double_t *in, matrix_double_t *out)
The hat operator on SO3.
Definition: cont_math.c:186
cont_SU2_hat
int cont_SU2_hat(matrix_double_t *in, matrix_double_t *out)
The hat map on SU(2)
Definition: cont_math.c:69
cont_SO3_distance
double cont_SO3_distance(matrix_double_t *R1, matrix_double_t *R2)
The distance Phi(R1, R2) defined on SO3.
Definition: cont_math.c:302
cont_SU2_product
int cont_SU2_product(matrix_double_t *q, matrix_double_t *p, matrix_double_t *out)
Product of two elements of SU(2)
Definition: cont_math.c:28
cont_SU2_vee
int cont_SU2_vee(matrix_double_t *in, matrix_double_t *out)
The vee map on SU(2)
Definition: cont_math.c:53
cont_dot_product
double cont_dot_product(matrix_double_t *vecA, matrix_double_t *vecB)
Evaluates the dot product of two vectors.
Definition: cont_math.c:343
cont_quat_2_SO3
int cont_quat_2_SO3(matrix_double_t *q, matrix_double_t *R)
Embedding relating SU(2) to SO(3)
Definition: cont_math.c:157
cont_SU2_distance
double cont_SU2_distance(matrix_double_t *q1, matrix_double_t *q2)
Evaluate distance Gamma(q1, q2) in [0,2] defined on SU2.
Definition: cont_math.c:138
cont_SU2_triple
int cont_SU2_triple(double a, double b, double c, matrix_double_t *out)
Computes a triple product on SU(2)
Definition: cont_math.c:110
cont_SO3_Exp
int cont_SO3_Exp(matrix_double_t *u, matrix_double_t *R)
The Exp map on SO3.
Definition: cont_math.c:224
cont_normalize
int cont_normalize(matrix_double_t *vec)
Normalizes the vector.
Definition: cont_math.c:378
cont_SO3_Log
int cont_SO3_Log(matrix_double_t *R, matrix_double_t *u)
The Log map on SO3.
Definition: cont_math.c:265
cont_SU2_Exp
int cont_SU2_Exp(matrix_double_t *in, matrix_double_t *out)
The Exp map on SU(2)
Definition: cont_math.c:86
cont_SO3_vee
int cont_SO3_vee(matrix_double_t *in, matrix_double_t *out)
The hat operator on SO3.
Definition: cont_math.c:207