金牌会员
- 积分
- 1930
- 威望
- 975
- 贡献
- 461
- 兑换币
- 558
- 注册时间
- 2013-11-17
- 在线时间
- 247 小时
- 毕业学校
- 北京工业大学
|
float get_position(void){
float N,result,base_pos,pos,pos_os;
Max();
SecondMax();
Min();
pos=(ad_value[num_second]-ad_value[num_min])*100;
N=pos/(ad_value[num_max]-ad_value[num_min]);
base_pos=num_max*weight;
pos_os=(weight*N/100-weight/2);
if(num_max>=num_second) {
result=base_pos-pos_os;
} else{
result=base_pos+pos_os;
}
if((N<50)&(num_max==0)) {
result=0;
}
if(result>(4*weight)){
result=4*weight;
}
return result;
}//获取赛道位置//
void saveposition(void){
unsigned int i;
for(i=0;i<3;i++)
save_position[i+1]=save_position[i];
save_position[0]=position ;
}//保存位置//
unsigned int duoji_PD(void){
float error,s_error,ss_error;
unsigned int pwmdty_23;
error=save_position[0]-save_position[1];
s_error=save_position[1]-save_position[2];
ss_error=save_position[2]-save_position[3];
pwmdty_23=angle_mid+duoji_kp*(error-s_error)+duoji_kd*(error-2*s_error+ss_error);
if(pwmdty_23>2060)
pwmdty_23=2060;
if(pwmdty_23<1420)
pwmdty_23=1420;
return pwmdty_23;
}//舵机PD控制//
这样写对么 明天准备去试车
|
|