【发布时间】:2020-04-14 14:35:52
【问题描述】:
我希望一个 webbots 机器人向前移动,然后以完全相同的方式顺时针旋转 90 度 4 次以绕一个正方形。机器人将完美地完成第一条腿,但我不知道如何在循环结束时将位置传感器重置为 0。有任何想法吗?
for i in range (0, 4):
leftWheelSensor.getValue()
rightWheelSensor.getValue()
robot.step(800)
leftWheel.setPosition(21.4)
rightWheel.setPosition(21.4)
leftWheel.setPosition(21.4 + 2.6)
rightWheel.setPosition(21.4 - 2.6)
就在这里,我应该能够将左右轮传感器设置回零,但似乎没有办法做到这一点。我试图禁用并重新启用传感器,但没有奏效。这是关于该课程的 webbots 信息...
类位置传感器(设备): 旋转,线性
def enable(self, samplingPeriod):
def disable(self):
def getSamplingPeriod(self):
def getValue(self):
def getType(self):
# ...
【问题讨论】:
-
您的程序看起来很奇怪,因为我希望您实际上使用例如
left_position = leftWheelSensor.getValue()检索位置传感器的值,然后使用此信息来计算电机的新目标位置。此外,多次设置车轮位置而不在其间调用robot.step是没有用的。您可能应该遵循 Webots 教程以更好地了解控制器的工作原理。 -
非常感谢 - 是的,我现在正在做这些
标签: webots