Slam.h
1.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#ifndef __SLAM_H
#define __SLAM_H
#include "sys.h"
#include "my_data.h"
#include "My_GetAdc.h"
#include "math.h"
void SlamPos_Ananlysis(CanRxMsg *Message);
void Slam_Pro(void);
#define KXDPB_Slam 1 //在获取车中心位置换算上,屏蔽,不考虑置信度这个信息,可在具体使用信息上单独判断
extern u8 Tim4_Slam1Nums;//发送区域检测时间间隔计时
extern u8 Tim4_Slam2Nums;//获取雷达信息时间计时
extern u8 Tim5_Slam3Nums;//置信度丢失计时
typedef struct {
float X_Slam;
float Y_Slam;
short Ang;//此点期望的车身角度,其中目标角度(0<Ang<=360
}Str_SlamPoint;//
typedef struct {
u16 Code;//虚拟码值
Str_SlamPoint SP;//目标点位置
u8 P_Type1;//点属性 1->行进普通点;2->拐点;3-充电点;4->工位料台;5->进工位料台前点;25->拐点+料台前点;
u8 P_AD_Type2;//对中精度属性 0->不调整; 1->此点到位后SLAM粗略调整 等级1;2->此点到位后SLAM精确调整 等级2;3->此点到位后SLAM精确调整 等级3;11->此点到位后CCD粗略调整 等级1;12->此点到位后CCD精确调整 等级2;11->此点到位后CCD精确调整 等级3;
u8 P_AC_Type3;//0->无动作;1->行走;2->上升到最高位置;3->下降到底;4->升降到指定高度,且高度明确;5->升降到特定高度,但高度不明确,需要到指定位置后才可明确;6->充电;7->取消充电;
u16 Dis;//0-5000,升降高度/充电距离 单位1mm
u8 LaserNo;//防撞属性 0:AGV自行决定开启图形;其他 :PC指定图形
u8 P_ConveyDir;//相对地面坐标系1-x+;2-y+;3-x-;4-y-;
}Str_TaskPoint;//任务点结构体属性
#define LengTP sizeof(Str_TaskPoint)
extern float Ang_SlamLaser;
extern Str_SlamPoint AgvSP;
extern double X_SlamAgv;
extern double Y_SlamAgv;
extern float Ang_SlamAgv;
extern u8 SlamMess_Fresh;
extern int Status_SlamLaser;//置信度
extern int F_Dx_AgvCToMap;
extern int F_Dy_AgvCToMap;
extern u16 F_DAng_AgvCToMap;
#endif