资源简介
飞思卡尔智能车竞赛摄像头组完整工程源代码。
代码片段和文件信息
#include “baseInc.h“
#include “math.h“
/*========================================================//
函数:PIDInit
功能:PID参数初始化
作者:
参数:
返回值:
备注:
/==========================================================*/
void PIDInit(void)
{
sPID.En_1 = 0;
sPID.En_2 = 0;
sPID.Un_1 = 0;
sPID.Kp = 4;
sPID.Ki = 0;//0.001;//0.014;
sPID.Kd = 1;
}
/*========================================================//
函数:PIDCalc
功能:PID算法
作者:
参数: PID * pp :PID结构体
SetPoint :设定目标值
DetectPoint:检测值、
返回值:Un uint :输出控制电机量
备注:
/==========================================================*/
float PIDCalc( PID *ppint SetPoint int DetectPoint )
{
int En; //本次偏差
float Un;
//输出
En = SetPoint - DetectPoint; // 偏差
Un = pp->Un_1 +pp->Kp * (En - pp->En_1)
+ pp->Ki * En // 积分项
+ pp->Kd * (En - 2*pp->En_1 + pp->En_2); // 微分
pp->En_2 = pp->En_1;
pp->En_1 = En;
pp->Un_1 = Un;
return Un;
}
/*========================================================
LineEdgeDetect
一条水平线上的区域边缘检测
乘以因子 【-1 0 +1】
==========================================================*/
void LineEdgeDetect(uchar *imagechar *resultchar No)
{
uchar ij;
for(i=1; i {
result[i-1] = m_aImage[i+1][No] - m_aImage[i-1][No];
}
}
/*=======================================================
GetLineCenter
提取道路中心线
=========================================================*/
char GetLineCenter(char *Lineuchar *markcenteruchar No)
{
int markl[3]markr[3];
uchar markweith;
uchar flaglflagr;
int center;
uchar i;
flagl = 0;
flagr = 0;
for(i=0; i {
if((m_aLineDot[i]<-6)&&(m_aLineDot[i+1]<-6))
{
flagl = 1;
markl[0] = i;
}else if((m_aLineDot[i]>6)&&(m_aLineDot[i+1]>6))
{
markr[0] = i;
flagr = 1;
break;
}
}
if(flagl&&flagr)
{
markweith = markr[0] - markl[0];
//m_cRoadLenth[m++] = markweith;
*markcenter = markweith/2+markl[0];
}else if(flagl&&(!flagr))
{
center = markl[0]+15-No;
*markcenter = center;
if(center>CCD_ROWS-1)(*markcenter) = CCD_ROWS-1;
}else if((!flagl)&&flagr)
{
center = markr[0]-15+No;
*markcenter = center;
if(center<0)(*markcenter) = 0;
}else
{
return NON;
}
return YES;
}
/*========================================================
RoadCenterDetect
路线标识的中心线检测
==========================================================*/
void RoadCenterDetect(void)
{
uchar ijkmarkweithmarkcenter;
uchar col;
m_aRoadParam.ValidStart = DISVALID;
m_aRoadParam.ValidNum = 0;
for(col=0; col {
LineEdgeDetect(m_aImagem_aLineDotcol);
if(GetLineCenter(&m_aLineDot&markcentercol)==YES)
{
if(m_aRoadParam.ValidStart == DISVALI
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 197224 2010-03-27 22:42 Car\bin\P&E_ICD.abs
文件 3018 2010-03-27 22:42 Car\bin\P&E_ICD.abs.phy
文件 2980 2010-03-27 22:42 Car\bin\P&E_ICD.abs.s19
文件 123807 2010-03-27 22:42 Car\bin\P&E_ICD.map
文件 197224 2010-04-01 23:20 Car\bin\Simulator.abs
文件 3022 2010-04-01 23:20 Car\bin\Simulator.abs.phy
文件 2984 2010-04-01 23:20 Car\bin\Simulator.abs.s19
文件 123809 2010-04-01 23:20 Car\bin\Simulator.map
文件 92 2010-03-27 22:42 Car\bin\P&E_ICD.xpr
文件 141710 2010-04-01 23:21 Car\Car07.mcp
文件 195780 2007-01-29 22:08 Car\Car070121\bin\P&E_ICD.abs
文件 5040 2007-01-29 22:08 Car\Car070121\bin\P&E_ICD.abs.phy
文件 5000 2007-01-29 22:08 Car\Car070121\bin\P&E_ICD.abs.s19
文件 129934 2007-01-29 22:08 Car\Car070121\bin\P&E_ICD.map
文件 84 2007-01-29 22:10 Car\Car070121\bin\P&E_ICD.xpr
文件 190660 2007-01-25 16:52 Car\Car070121\bin\Simulator.abs
文件 3906 2007-01-25 16:52 Car\Car070121\bin\Simulator.abs.phy
文件 3870 2007-01-25 16:52 Car\Car070121\bin\Simulator.abs.s19
文件 127842 2007-01-25 16:52 Car\Car070121\bin\Simulator.map
文件 176151 2007-01-25 16:55 Car\Car070121\Car07.mcp
文件 4196 2007-01-16 08:09 Car\Car070121\Car071_Data\CWSettingsWindows.stg
文件 69167 2007-01-16 08:09 Car\Car070121\Car071_Data\P&E_ICD\TargetDataWindows.tdt
文件 69171 2007-01-16 08:09 Car\Car070121\Car071_Data\Simulator\TargetDataWindows.tdt
文件 4380 2007-01-29 22:18 Car\Car070121\Car07_Data\CWSettingsWindows.stg
文件 23427 2007-01-29 22:08 Car\Car070121\Car07_Data\P&E_ICD\ob
文件 8392 2007-01-29 21:53 Car\Car070121\Car07_Data\P&E_ICD\ob
文件 7398 2007-01-29 21:56 Car\Car070121\Car07_Data\P&E_ICD\ob
文件 13942 2007-01-29 21:54 Car\Car070121\Car07_Data\P&E_ICD\ob
文件 7568 2007-01-29 21:53 Car\Car070121\Car07_Data\P&E_ICD\ob
文件 155264 2007-01-29 21:53 Car\Car070121\Car07_Data\P&E_ICD\ob
............此处省略127个文件信息
相关资源
- 一个校三等奖的飞思卡尔程序
- 飞思卡尔128 MPU6050程序
- 基于FPGA的智能车牌定位识别系统设计
- 基于STM32F103的移动智能车硬件设计
- MT9V032逐飞总钻风摄像头完美移植山外
- 飞思卡尔功率管MRF8P9040N
- 飞思卡尔 LIN 从机 程序源码
- 飞思卡尔KEA128例程
- S32DS IDE操作教学
- 基于飞思卡尔MPC5634M单片机的Bootload
- 荣品iMX6Q开发板i.MX6DL飞思卡尔四/双核
- 野火K60开发板资料集锦(飞思卡尔智
- 蓝宙电子智能车竞赛3轴陀螺仪-3轴数
- 飞思卡尔智能车 上位机 LabVIEW
- 基于轨迹重规划的智能车辆避障模型
- 飞思卡尔智能车光电传感器原理图+
- 飞思卡尔K60 ADC
- 飞思卡尔舵机程序
- 计算机视觉算法与智能车应用.pdf
- 飞思卡尔MPC5604B 程序
- 智能车核心板(原理图)
- 飞思卡尔MC9S12XS128单片机教程
- 三种测脉冲测速
- 智能车电磁组
- 飞思卡尔XS128单片机驱动超声波模块程
- 飞思卡尔智能车增量式pid调节方法
- 飞思卡尔电磁组组委会所给方案(3个
- 基于飞思卡尔 MS9S12XS128芯片J1939协议
- 飞思卡尔K60最小板PCB+原理图
- 飞思卡尔智能车平衡组速度闭环程序
评论
共有 条评论