1
私はEv3ロボットのコードを2つのモーターで書きたいと思っています。私はそれがある距離を移動することができるようにしたい、この場合、モーターが4秒間に最大2500度まで回転するまで進む。それから私はロボットを同じ距離に戻したい。しかし問題は、一方のモーターが回転し、他方のモーターが回転しないことがあり、モーターが元の位置に戻った後もずっと回転し続けることがあるということです。私が持っているコードを改善する方法があるのだろうかと思います。私はいくつかの異なるEv3のequitmentでそれを試したので、ハードウェアの問題ではない可能性が高いです。任意の助けをいただければ幸いです:)Ev3マインドストームが前後に直線移動
b = Brick('ioType','usb');
b.outputStepSpeed(0,Device.MotorA,60,0,2500,0,Device.Brake);
b.outputStepSpeed(0,Device.MotorD,60,0,2500,0,Device.Brake);
pause(4)
b.outputStop(0,Device.MotorA,Device.Brake);
b.outputStop(0,Device.MotorD,Device.Brake);
tacho = b.outputGetCount(0,Device.MotorA);
disp(['> Tachometer: ' num2str(tacho)]);
b.outputClrCount(0,Device.MotorA);
b.outputClrCount(0,Device.MotorD);
pause(0)
b.outputStepSpeed(0,Device.MotorA,-60,0,tacho,0,Device.Brake);
b.outputStepSpeed(0,Device.MotorD,-60,0,tacho,0,Device.Brake);
pause(4)
b.outputStop(0,Device.MotorA,Device.Brake);
b.outputStop(0,Device.MotorD,Device.Brake);
tacho =
b.outputGetCount(0,Device.MotorA);
disp(['> Tachometer: ' num2str(tacho)]);
b.outputClrCount(0,Device.MotorA);
b.outputClrCount(0,Device.MotorD);
clear