def turnToAngle(self, angleTarget, omega = pi):
self.setMode('TURN')
self.targetV = 0
self.targetOmega = 0
omegaMin = pi / 8.
angleTol = pi/180.
loopTimer = Timer()
while abs(self.odometer.angleRelToPhi(angleTarget)) > angleTol:
angle = self.odometer.angleRelToPhi(angleTarget)
if angle > pi / 6:
self.targetOmega = omega
elif angle > 0:
self.targetOmega = omegaMin
elif angle < -pi / 6:
self.targetOmega = -omega
else:
self.targetOmega = -omegaMin
loopTimer.sleepToElapsed(self.timeStep)
self.stop()
########################################################################
## Other methods
########################################################################
# Kill thread running ._move() method
评论列表
文章目录