Paparazzi UAS v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
Loading...
Searching...
No Matches
lidar_correction.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2025 Alejandro Rochas Fernández <alrochas@ucm.es>
3 *
4 * This file is part of paparazzi.
5 *
6 * paparazzi is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2, or (at your option)
9 * any later version.
10 *
11 * paparazzi is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with paparazzi; see the file COPYING. If not, write to
18 * the Free Software Foundation, 59 Temple Place - Suite 330,
19 * Boston, MA 02111-1307, USA.
20 */
21
22// ------------------------------------
23
24
25
26#ifndef LIDAR_CORRECTION_H
27#define LIDAR_CORRECTION_H
28
29#include "math/pprz_algebra.h"
32
33#define MAX_WALLS 10 // Máx number of walls
34#define MAX_POINTS 5 // Máx number of points in a wall
35
36
37// Structs to include the obstacles configuration file
39 float lat_deg;
40 float lon_deg;
41 float alt;
42};
43
48
49
50
57
63
64
65extern struct WallSystem wall_system;
66extern void init_walls(void); // Init Obstacles
67extern void convert_walls_to_ltp(void);
68extern float find_nearest_wall(const struct FloatVect2 *obstacle_pos, struct FloatVect2 *nearest_point);
69extern float distance_to_wall(float theta, const struct FloatVect2 *P, const struct FloatVect2 *A,
70 const struct FloatVect2 *B);
71
72#endif // LIDAR_CORRECTION_H
#define B
#define A
struct FloatVect2 points_ltp[MAX_POINTS]
uint8_t wall_count
#define MAX_POINTS
bool converted
float find_nearest_wall(const struct FloatVect2 *obstacle_pos, struct FloatVect2 *nearest_point)
float distance_to_wall(float theta, const struct FloatVect2 *P, const struct FloatVect2 *A, const struct FloatVect2 *B)
void convert_walls_to_ltp(void)
struct Wall walls[MAX_WALLS]
struct LlaCoor_f points_wgs84[MAX_POINTS]
uint8_t count
#define MAX_WALLS
void init_walls(void)
struct WallSystem wall_system
struct ObstaclePoint points[MAX_POINTS]
uint16_t foo
Definition main_demo5.c:58
Paparazzi generic algebra macros.
Paparazzi floating point algebra.
Paparazzi floating point math for geodetic calculations.
vector in Latitude, Longitude and Altitude
static float P[3][3]
unsigned char uint8_t
Typedef defining 8 bit unsigned char type.