0

我正在使用涂鸦机器人。

Myro 库中似乎没有一个函数可以让机器人以用户指定的半径在圆周上移动。

这是我能收集到的

机器人左右轮之间的距离为 6 英寸。

所以左轮应该移动2(pi)(半径+6)的距离

并且右轮应该以 2(pi) (radius-6) 的距离行驶

(我认为)

将机器人移动一圈相当简单。我可以使用该motors功能并调用

motors(1, 0) 

意思是左轮移动,右轮停止,有效地绕圈移动。

我的问题是指定圆的半径并让它在该半径的圆中移动。

这是我的代码。

    #Practice for Circle
def goCircle(int radius):
    pi = 3.14159265359
    Left = 2(pi)(radius + 6)
    Right = 2(pi)(radius - 6)
    turnRight(1,radius/360.0)

通常turnRight会有这些参数turnRight(speed, time) 所以你指定你希望机器人走的速度,以及你希望它行进的秒数。我把它设为 1 速度,并尝试在时间变量中传递半径/360。

我收到这个错误

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "<string>", line 4, in goCircle
TypeError: int is not callable

我也试过motors(left, right)并得到同样的错误

    #Practice for Circle
def goCircle(radius):
    pi = 3.14159265359
    Left = 2(pi)(radius + 6)
    Right = 2(pi)(radius - 6)

    motors(left,right)

我能做些什么来完成这项工作?

4

1 回答 1

0

由于您的语法,您收到错误。你不能乘以:

2(pi)(radius + 6)

您需要*在条款之间放置:

2*(pi)*(radius + 6)

解释器认为您要像调用函数一样调用 int 2()

此外,如果你import math,你会得到 math.pi 内置。

于 2014-10-14T19:49:11.963 回答