Ev3头脑风暴直线前进

时间:2017-12-17 22:52:15

标签: lego mindstorms

我想用两台电机为我的Ev3机器人编写代码。我希望它能够走一定距离,在这种情况下向前,直到电机最多转动2500度四秒钟。然后我希望机器人回到相同的距离。但问题是,有时只有一个电机旋转而另一个什么都不做,有时电机在返回原位后会继续旋转很长时间。我想知道是否有任何方法可以改进我的代码。我已经尝试过几种不同的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

1 个答案:

答案 0 :(得分:0)

检查您的端口是否正确以及是否已连接。还要知道并非所有EV3电机的制造都完全相同,这意味着有些电机可能更坚固,因此几乎不可能直线移动。在这种情况下,使用陀螺仪可能有所帮助。

如果您需要进一步的帮助,请发表评论!