PDR/1.Software/PDR 1.0/include/LapProcess.h

57 lines
1.8 KiB
C
Raw Normal View History

2022-09-15 16:35:25 +08:00
/******************** (C) COPYRIGHT 2020 Geek************************************
* File Name : LapProcess.h
* Department : Sensor Algorithm Team
* Current Version : V1.0
* Author : logzhan
* Date of Issued : 2020.8.4
* Comments : <EFBFBD><EFBFBD>Ȧģʽ<EFBFBD>Ż<EFBFBD>
********************************************************************************/
#ifndef _LAPPROCESS_H_
#define _LAPPROCESS_H_
#ifdef __cplusplus
extern "C" {
#endif
/* Header File Including ------------------------------------------------------------------------ */
#include <stdio.h>
#include <math.h>
#include <string.h>
#include "pdr_util.h"
#include "pdr_sensor.h"
#include "pdr_base.h"
/* Macro Definition ----------------------------------------------------------------------------- */
#define FIND_CIRCLE 1
#define NO_CIRCLE 0
#define ADJ_CIRCLE 1
#define NADJ_CIRCLE 0
#define DIST_THRESHOLD 25
/* Function Declaration ------------------------------------------------------------------------- */
void lapInit();
void lapProcess(gnss pgnss, lct_fs *result);
void pdr_cacheTrajs(gnss pgnss, lct_fs *result);
int pdr_adjustTraj(double trajs[][2], int count);
double pdr_getPointYaw(double point1[], double point2[]);
void pdr_pathMap(TrajSign* trajs, double point[2], double yaw, double projPoint[2]);
double pdr_optiFromTrajs(gnss pgnss, lct_fs *lct_fusion);
int pdr_findTun(TrajSign* refTrajs, double point[], double heading);
int pdr_fuseRefTraj(TrajSign* tunnelTrajs, TrajSign* refTrajs, double newRefLoc[][2]);
unsigned char pdr_point2line(double point[], double lineStart[], double lineEnd[], double projLoc[]);
void ProjPointOfLoop(double point1[], double yaw, double point2[], double result[]);
double lap_calDistance(double lla1[2], double lla2[2]);
#ifdef __cplusplus
}
#endif
#endif // !_LAPPROCESS_H_