- forward = speed * 7 / 10; // \82Æ\82è\82 \82¦\82¸\82Ì\8eÀ\91\95\r
- turn =static_cast<int>(m_pid.CalcControlValue(static_cast<float>(linepos)));\r
+ float fturn = m_pid.CalcControlValue(static_cast<float>(linepos));\r
+ turn = static_cast<int>(fturn);\r
+ float fabsturn = fabs(fturn);\r
+ float fwddiff;\r
+ if(fabsturn < 5.0){\r
+ fwddiff = -1.0;\r
+ }else{\r
+ fwddiff = fabsturn;\r
+ }\r
+ clipmax(speed,90); // \82±\82ê\88È\8fã\82Å\82Í\91\96\82ç\82È\82¢\82Ì\82Å\90§\8cÀ\r
+ float fforward = static_cast<float>(speed) * (100.0 - m_speedpid.CalcControlValue(fwddiff)) / 100.0;\r
+ forward = static_cast<int>(fforward);\r