当前位置:   article > 正文

智能车电磁组——岔路_电磁智能车三角前瞻

电磁智能车三角前瞻

一、电感排布

在这里插入图片描述
电感排布方案可参考:学做智能车–电磁探究篇

二、岔路判定

岔路的处理很大程度上影响着电磁车的整体速度,它无法做到像环岛一样有一个预环岛判定,它只能做到判定到即入岔路。处理方法就是在物理层面上加长电感前瞻,让他提前预判。在这里插入图片描述
三叉判定思路如上图所示,当车身前瞻没有抵达岔路时,第一排的M电感和第二排的M_2电感的差值等于零或者在一个很小的范围,当车身前瞻抵达岔路时,第一排的M电感大于第二排的M_2电感,并且它们二者之间有一个差值,当这个二者电感差值大于一个阈值时,及判定到三叉。当然最终的判定条件不能只写这一个条件,还要加上左右两路电感值在一个范围作为判定条件。`

if(M>180&&M<500&&M_2>350&&M_2<600&&L>100&&L<250&&R>100&&R<250&&(M_2-M>150)&&Statu==1){  //岔路
		CHALU_FLAG1=1;
		Statu=7;
		Record_Angle=1;
		chalu_running_flag = 1;
  • 1
  • 2
  • 3
  • 4
  • 5

三、入岔路

判定到岔路之后,进行舵机打角,这里我手动给差比和误差一个固定的值,让舵机进行固定打角,固定打角之后,要判定车身是否进入三叉,这里我用到了陀螺仪对角度进行积分,当向左或向右偏移一个角度后,多陀螺仪积分的数据进行一个判定,大于一个阈值代表车身已进入三叉内,然后切换成三叉内寻迹。`

		if((Angle>100 || Angle<-100)){
//			BeeOff;
			CHALU_DELAY_FLAG1=0;
			Angle=0;
			Record_Angle=0;
			Statu=1;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

三、岔路内寻迹

岔路内的赛道下面因为只有一根电磁线,电感所能读出来的数值相比其他元素地方要小很多,所以在岔路内的差比和计算方法和其他地方一样,车身会极其不稳,影响最终的速度。这里我的解决方法是对差比和的计算结果进行了一个加倍。当你进入岔路之后,你的方向环也需要去重新细调。

	if(chalu_running_flag)
			{
				cha_1 = my_sqrt(a_L*1.8)-my_sqrt(a_R*1.8);
				he_1 = my_sqrt(a_L*1.8)+my_sqrt(a_M*1.8)+my_sqrt(a_R*1.8);
				bi_1 = cha_1/he_1;
				poserror = (int16)(bi_1*100);
			}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

四、出岔路

这里出岔路我没有对舵机进行控制,因为电磁车只要你的车身姿态够稳,它是一定能在寻迹的状态下出岔路的。!!!车身姿态要稳!!!
因为我岔路内的差比和计算公式和正常赛道不同,所以要对电感值总和进行判定,当电感值总和大于一个阈值,代表电磁车已经从出岔路进入元素外的赛道。

		if(chalu_running_flag)
		{
			BeeOn;
			ele_sum = L+M+R;//第一排总的电感值
			if(ele_sum>1000)
			{
				chalu_running_flag=0;
				ele_sum=0;
				BeeOff;
			}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/959174
推荐阅读
相关标签
  

闽ICP备14008679号