舵轮代码
目前代码给我印象是各个轮子分开控制,和1代舵轮一样都是无优弧劣弧处理,反转需要舵转动180°。3轮头舵轮做转向作用。无运动模型,就是代码判断赋值,在某些情况下能做到更好的处理,但感觉移植性没那么好,等我有空把他代码也做一个总结。
运行时操作手感不是很好,有种急停急开的感觉,还得优化。
贴上部分代码。
遥控器转比例值
无运动模型,将遥控器的数值转换成速度和角度的比例,再运算赋值给底盘。
z:没什么意义,如果有运动模型的话就不用后面那么多处理,还得想着多层逻辑的叠加。
1 | /** |
自旋量
自旋是自旋 前进是前进,无角度叠加。
控制的想法跟我完全不一样,前面提的速度运动一定跑不直,要改成全场定位控制也没有。
全场定位的用处就只是用来控制自动。
1 | if(fabs(dr16_motion_value.CRotate) > 0.2 && fabs(dr16_motion_value.CSpeed)<0.2){ //当只有右摇杆控制时可进行原地旋转 |
运动模型
由多个if判断组成的运动模型,判断是否相应的模型
1 | else if(fabs(dr16_motion_value.CSpeed) > 0.2){ //左摇杆对底盘方向的控制 |