- 1、本文档共29页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
//本程序对黑线提取做了很大的改进,未对十字弯处理/*******************************************///本程序中加入了一些用于显示车模状态的LED灯/*经实测发现,近处的赛道宽度为60左右,远处为30左右,所以用可变赛道宽度进行有哪些信誉好的足球投注网站*/#include hidef.h /* common defines and macros */#include derivative.h /* derivative-specific definitions */#include MC9S12XS128.h//-----------函数声明-----------------//void delay(unsigned int t);#define HighSpeedLimit 40#define LowSpeedLimit 16#define SteerLeftLimit -35#define SteerRightLimit 35#define COLUMN 90 //采集列数#define MID_COLUMN 45 // 中间黑线#define ROW 40//采集行数#define LeftLED PORTB_PB0//左转方向灯#define RightLED PORTB_PB1//右转方向灯#define SpeedUpLED PORTB_PB2//加速指示灯#define SlowDownLED PORTB_PB3//减速方向灯#define Crossing_RoadLED PORTB_PB4//十字弯#define Dashed_RoadLED PORTB_PB5//虚线路段#define Mid_Route_Width_Factor 0.48 //赛道宽度系数int steer_dire_label=0;int SteerDelta=0;//舵机最终的偏转增量unsigned int Speed=0;//显示当前PWM2占空比大小unsigned int PreSpeed=0;float Threshold_Factor=0.9; //阈值系数设置unsigned int Threshold=120; //初设动态阈值为90,以后每传来一帧数据更新一次float Kp=0.8;//舵机方向比例系数float Kd=5.0;//舵机方向微分系数float MotorSpeed_Factor=6.0;//马达控制unsigned char Image_Data[ROW][COLUMN];unsigned int Left[ROW],Right[ROW];//左右黑线unsigned int VisualMiddle[ROW];//虚拟中线unsigned int Middle[ROW];//最终存放中间黑线值的二维数组unsigned int Row_Attribute[ROW];//行属性unsigned int row,column; int m=0;//计算采集到的行数unsigned char Line_Flag=0; //奇偶场unsigned int Line_C=0; //采集行数d int PreSteerDirection=50;//之前的舵机方向,用与前后比较unsigned int LeftFlag=0,RightFlag=0;//左右黑线标志unsigned int Left_Start_Flag=0,Right_Start_Flag=0;//左右起始黑线找到标志unsigned int L_lost_count=0;//左黑线丢失计数unsigned int R_lost_count=0;//右黑线丢失计数unsigned int L_last_lost=0;//左行上一行丢线标志unsigned int R_last_lost=0;//右行上一行丢线标志unsigned int L_last_memory=0;//左行上一次有黑线的黑线所在列数unsigned int R_last_memory=0;//右行上一次有黑线的黑线所在列数unsigned int HS_Data[ROW]={40,45,50,55,60,65,70,75,80,85, 90,95,100,105, 110,115,120,124,128,132, 136,140,144,148,152,156,160,163,166,169, 172,175,178,181,184,187,189,191,193,19
文档评论(0)