ActionCourse.h
2.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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#ifndef __ACTIONCOURSE_H
#define __ACTIONCOURSE_H
#include "sys.h"
#include "my_data.h"
#include "math.h"
#include "Load.h"
#include "Charge.h"
#include "UpDown.h"
#include "Line.h"
#include "Rotation.h"
#include "Conveyor.h"
#include "Slam.h"
#include "Test.h"
#include "Task.h"
/******
*******/
#define ErrNums 3u
typedef struct {
u8 AllAxisOK;//AllAxisOK:位0-AGV所有存在轴正常无故障;1-AGV所有存在轴都已使能;2-舵轮使能无故障且原点找到 ;3-舵轮都使能无故障;4-存在轴在线
u8 Load_Step;//Load_Step:1-50是CCD对中,51-89是SLAM对中
u8 Type2_AdLev;//动作等级:比如调节等级 (对中/转向)+防撞等级
// u8 Up_Step,Up_Time5Nums;
// u8 Down_Step,Down_Time5Nums;
u8 UpDown_Step;//UpDown_Step:1-29是上升;31-59是下降;60-89是升到任意高度
u8 Type3_Ac;////0->无升降;1->上升到最高位;2->下降到最低位;3->升降到特定高度,且高度值明确;4->升降到特定高度,但高度值在建立任务时无法确定
u8 Charge_Step,Charge_Time5Nums;
// u8 ChargeAcType;//1充电,2退出充电
u8 Line_Step,Line_Time7Nums;
u8 GoDis_Step;
u8 RotationSlam_Step,Rotation_Time5Nums;
u8 RotationCCD_Step;
u8 AxisEn_Step,Axis_No;//多轴使能时,需要对哪些轴使能操作选择用
u8 AllAct_Time5Nums;
// u8 Busy;
u8 AllAxisResetStep;
u8 Conveyor_Step,Conveyor_Dir;
u8 Task_Step;
u8 TaskManu_Step;
u8 Test_Step;
u8 DirGo;//AGV以车本体坐标系的具体哪个方向作为行驶方向 AGV运动方向。DirGo:1->Vx+;2->Vy+;3->Vx-;4->Vy-;
float AngTarget;
Str_SlamPoint CSP;//当前车中心SLam位置
float Ang_CSAgv;//当前SLAM的中心角度
u8 Status;//AGV状态 11->自动空闲;13->忙碌;14->充电中;20->手动模式
u8 Dir;//AGV车头方向给ACS使用 车头相对地面坐标系:1-4。1:x+;2:y+;3:x-;4:y-;
u8 UDstatus;//升降状态:1-低位;3-高位;2-中间高度
u8 Err[ErrNums];//错误1-3
u32 VirCode;//虚拟码值
u8 TaskNo[4];//任务号
// u8 Done;//完成状态
// u8 AxisDone;//对应轴下对应机构动作结束
Str_TaskPoint RouteP[4];//
// u8 LineDir;
float RouteAngDir;//路径点方向,也是当前车行驶路线方向
u8 Time7_NotActNums;
u8 OtheSta;//其他。位0:0-无负载,1有负载;位1:0-任务中非最后一条任务,1是最后一条;位2:0-同任务号下第一次未走完,1走完;位3:0-任务未完成,1完成;位4:0-不忙碌,1忙碌;位5:0-无边界触发,1有边界触发;位6:1低电量标记;
u8 OtheSta1;//其他。位0:0-不需要使用下相机,1需要;位1:0-不需要使用上相机,1需要上相机;位2:0-风扇未吹,1风扇已吹;位3:1-复位过程的所有动作暂停;位4:1-定位中参考上视觉对中;位5:有耦合机构下转盘未找打原点标记;位6:音乐切换标记;
u8 OtheSta2;//其他。位0:AGV在路线上;位1:料台给信息;
u8 EndP_Type1;
}Str_AgvAction;//AGV所有分解动作结构体
extern Str_AgvAction AGV;
extern Str_SlamPoint EndPoint;
extern Str_SlamPoint StartPoint;
extern Str_SlamPoint StartVP;
extern Str_SlamPoint LastEndP;//
void ActionCourse_Pro(void);
#define TpdoMauGetEn 0u
#endif