2022.2.28
更新截止行目标
想想法二:显示
我们的图像大小是120*160,我去要求这个拐点的范围是图像的一半的情况是,
60到119之间满足,同时列的范围是20到LCDW-20之间满足情况下;
上面的这个情况是右斜,右边拐点是正常的情况,
问题发现三:
左边线有问题:
解决`方法:方向六不去更新情况:
拐点情况罗列:
问号弯道!!
三叉:
十字:
斜十字:
环岛:
出库:
右车库:
斜三叉:
第四次进三叉的情况::
2022.3.1
把边线方差修改了;
这样才会更加精确起来!!!!
上车去检验看看有没得问题的
2022.3.2日志;
1:获取赛道宽度;
2:计算三叉斜率出来!!!
3:计算左右弯道斜率出来了!
學習技巧
2022.3.3
智能车三叉,状态三标志位不对
希望今天能够成功解决呀!!!
我解决了,我是先在状态三,变成状态四了,但是并没有实际
问题二:状态二条件有问题:
始终有点进不去;
我希望继续找出来呀!!!
//*********************************2022.3.4************************************//
右环岛处理
这样效果还是可以的
图二:效果还不错
//*********************分界线************************************************//
2022.3.28
出现了一个问题就是出现了,关于噪点的过率问出现
问题解决的差不多;但是又出现了新的问题出来;
//*********************分界线************************************************//
2022.3.29
问题一:解决控制行的动态,就是所谓的控制行没得相应的值出现
问题解决了,但是发现了新的问题出现了呀!!!
问题二:
出现了一个就是那个关于这个:条件太凶险了;
//*********************分界线************************************************//
2022.4.1
问题一:出现了一个奇怪的bug
马上修改
问题二:继续研究阿克曼转向角出来
研究是一圈的脉冲数出来,我们就是可以间接性得到实际速度。
//*********************分界线************************************************//
2022.4.5
问题一:—————将这个叫:前瞻过长的时候,弯道内部提前打角的消除——
解决方法:将这个左右边线数量相差巨大情况分类,提取出来,我们直接把左右边线归零处理呀!!!!!!
//*********************分界线************************************************//
2022.4.10
但是为什么却没有出现呢!??去想想问题;
问题解决::原来是搞错数组边线问题,我应该是用右边线计算,定义搞错了!!
结果正确可行;下次细心点!
观察规律出来;我们可以看出来
数值越大弯曲程度越大
中线提取策略修改;
中线归一化出现了问题;
dir_val += (float)((MidLine[i].col - IMG_MID) / (MidLine[i].col + IMG_MID));
1:计算这个叫做除去叫做这个左右边线相差巨大的情况存在出来!!!
2:把这个叫做曲率融合进去呀!!!
3:每一行单独归一话处理:归一化
4:加权模式处理!
//*********************分界线************************************************//
2022.4.11
!!去解决问题(开启了二次有边线巡线)
问题解决;
直道判断补全;
if (((k_abs <= 8 && k_abs2 < 14)|| (rou_of_left<=250 && rou_of_right<=250 && k_abs<=13)) && center_max_min_delta <= 20 && centerline[0] <= 130 && centerline[0] >= 55)
///**************************************整合分析出来********************************//
//*************************************************分界线************************************************//
2022.4.12
一:判断直道偏移问题,利用生长方向去分析判断出来!!看看去试试
好像看出规律了,再去找几张图片进行分析一下;(目前的想法就是关于方向0的时候可以很好的区分出来)
直道偏移
//*************************************************分界线************************************************//
2022.4.13
1:修改那个叫做控制行的改成连个起始变量试试,方便调试出来
2:想要学习中值模板匹配出来!!!
图像腐蚀:可以看出来效果还是不错的呀,终于差不多解决这个问题;
解决重大问题出来,我们可以看见
八邻域结束条件是159(lie-1)
右种子点不能是158
( 158 159 160 ) (158 159 160(lie-2)
157 158 159 ( lie-3 )
这样两者是直接冲突了
差不多解决了!
接下来修改车上的程序,注意数组越界呀!!
先把原变量抄下来!!!
右边线:159截止(最后列截止)
右种子最大的:157(设置)
右边线:
左边线停止条件: j-1 == 0
左边种子:
//*********************分界线************************************************//
2022.4.15日
上车试试效果看看
这样的方法还是要多多精炼一点呀!
//编写中线速度策略
根据直道等级来进行速度策略变化呀!!!
/*
*
* 如果满足确实是直道类型了!
*
* 判断中线连续到哪里去!
*
* 根据中线连续到哪里去了,同时根据中线累差分情况
*
* Current_Straight_Rank 为 当前直道等级变量
*
* 直道等级为0:默认上电速度
*
* 直道等级为1:1米到2米
*
* 直道等级为2:2米到3米
*
* 直道等级为3:超过3m
*
*/
//出现了一点小问题;
为什么会出现错误呢???CSADKDSAKJ時
void Get_Mid_Sum_error( uint8 Start_row,uint8 End_Row )
{
uint8 row ,Center_delta=0;
for( row=Start_row;row>End_Row;row--)
{
Center_delta = Mid_Line[row+1]-Mid_Line[row];
Sum_of_center =Sum_of_center+ Center_delta;
}
}
///去查看左右方差是否正常???
//去选择两个行数-----远----->中------->近
先把这个解决了!
进入那个麻烦的if!!!(写错了if错误小心一点)
//*********************分界线************************************************//
2022.4.16日
if ()
{
//建立两个小的标志位
if ()
{
flag_1
}
else
{
flag_2
}
}
if(flag_1==ON)
{
}
if(flag_2==0N)
{
}
修改bug出来!!!!
// int rule[7][7]={
// // 0 1 2 3 4 5 6
// { PB , PB , PM , PM , PS , ZO , ZO},//0
// { PB , PB , PM , PS , PS , ZO , NS},//1
// { PB , PM , PM , PS , ZO , NS , NS},//2
// { PM , PM , PS , ZO , NS , NM , NM},//3
// { PS , PS , ZO , NS , NS , NM , NB},//4
// { PS , ZO , NS , NM , NM , NM , NB},//5
// { ZO , ZO , NM , NM , NM , NB , NB},//6
// };
解决十字P环出来!
修改种子bug出来!
左边种子列数必须大于5
右边种子列数必须小于150
否则一直寻找
解决一个小的bug是
在下面有噪点的画,直接寻找不是一个很好的选择因素出现!
修复种子情况出来!!!(已经修复了,但是列数还是没做限制)
写好了菜单参数;
//2022.4.17
开始融合回环元素出来!!
先把方差很小+右边拐点可以查询个----------->平移半宽长度
我有一个很好的想法!查询中线的断裂行出来!
很好的避免这个,我就可以融合进去了!!而且不会误判!!!!!
if( Right_down_Point[0]>=70 && Left_down_Point[0]>=70 )
{
Right_T_State=2;
}
条件不行呀!
//2022.4.18日
1:右T字消除误判出来!(图像右下角的起始种子的列数有要求)
//问题二:为什么车子在高速情况下有些就不行了!
马上去解决这个问题!
还是得去消除误判
情况二的误判:
//2022/4.21
改进小s算法;但愿没得问题了!!!!!
为什么没有歌----->原来是我写错了!
//记录左右步数出来,才可以消除误判很多的,同时我也有用处的!(不要急躁!)
//边界点太少去掉!(访问边线数组是否为设定的值出来~~~~~~~~)
求出角度出来呀!
为什么算出来极性不对呀!
终于回到了环岛的时候(我有一个好的想法出现呀~~~~~~~~~~~~~~~~~~~~~)
1:先把这个叫做短线给连接好,我们再去去想办法判断情况出现!
2:然后我们就可以反向连接线出来呀!!!!
3:左环岛的判据与补线操作!
//2022
为什么拐点没有显示正确
//2022.4.25
左环岛对偶操作!
为什么左边方差会等于0?去看看
&& absolute(Rember_break_right_row-Right_down_Point[0])<=10
这个会上不去呀,
左边辅助状态机1--->2退不出来!!!
方差卡的太死了,扩大的!
//三叉改进;
原来是进出三叉看到的图像可能有点不一样!!!(那就好办了!!!)
打一个补定
//2022.4.30
//2022.5.2
//2022.5.3修改最小二乘法函数,因为我发现好像点数多少会出现问题,目前还没解决!!!
当前版本的最小二乘法效果!!----->不精确!!!
改进的最小二乘法效果!!------->更加精确!!!
开始迭代代码去!!!-----> go go go
//2022.5.5
//2022.5.5
//2022.5.6
这个应该是灰度值是255是白色的情况出现!!!
//2022.5.7
十字编写程序出现!
//2022.5.9
十字条件放宽后会有两个地方会发生误判------>去寻找原因去1!
fuzzy还有点问题!
//2022.5.10
左斜入十字可能误判
//2022.5.11
tof模块!
//2022.5.12
1:我们可以看
//2022.5.13
1:斑马线有些地方可能还是有点问题;(弯道接斑马线!)
2:开始添加速度策略上去编写函数(思路至少先要建立起来!)
//2022.5.18
学习新的技能点!
&& My_Abs(centre_right_point[0], centre_left_point[0]) <= 28
&& My_Abs(centre_right_point[0], centre_left_point[0]) <= 49
这样去限制拐点的范围!
//核心是去寻找小S拐点存在!
//2022.5.19
修改直道编状态机加减速度策略出来(有bug存在!)
新的想法出现:感觉可行呀!
//2022.5.27
修改省赛斑马线斜入的bug存在!
添加问号弯道吧,没办法还是要试试!
2022.6.3
//继续讲Matlab修改成上位机出来!
2022.6.22
这个点左边方差!!!有点问题!】
添加一种中线类型!!!
//2022.6.24
//2022.6.25
开始处理这个异常点的情况出来!!!!(记得对偶!!!)
把matlab的图像版本搞出来!!!
发现新的bug
左边种子右点问题,截止列在最左边!!
导致的!!!
//2022-6-26
找到原因了,需要用一个结构体!!!
//2022.7.1
修改一下这个点,
正入三叉也有一点问题!!!(图修一下)
0 5
0 0
6 0
6 5
综合所述:只要其中一个不等于1就是状态2了
但是要和 1 3 和 1 4 区分开来!!!
//等会思考一下提炼这模式的思想
问题找到了:
现在初步猜测是数据越界导致的现象!!!