【问题标题】:"timeRemaining is not defined" error“未定义剩余时间”错误
【发布时间】:2014-10-12 01:56:25
【问题描述】:

我正在学习机器人课程,并在 Calico 中导入了 Myro 库。 timeRemaining 应该是 Myro 库中的预定义函数,但它一直说它是未定义的。

有一个关于 Myro 功能的在线手册,即使这也不起作用:

while timeRemaining(5):
print "running..."

这是确切的错误

NameError: name 'timeRemaining' is not defined

我什至直接从书中复制代码,上面写着timeRemaining 没有定义。书中的代码应该可以工作。

turnLeftforward(speed, time) 等其他预定义函数可以正常工作,但 timeRemaining 不能。

这是 Calico 书籍Learning Computing With Robots 中的代码

def main():
    # Run the robot for 60 seconds
    while timeRemaining(60):
        L, C, R = getLight()
        # motors run proportional to light
        motors(normalize(L), normalize(R))
stop()

当我尝试运行main() 时,它不起作用。它说 timeRemaining 是未定义的。我不知道出了什么问题。

【问题讨论】:

  • import myro了吗?最简单的是from myro import *
  • 是否定义了 timer()? for seconds in timer(5): print "running for", seconds, "..."
  • 是的,我导入了 Myro。我就是这样做的,“从 Myro 导入 *”说它是未定义的。
  • 是的,timer() 有效。我写了 while timer(60): print("hello") 并打印了“hello” 60 秒

标签: python robotics myro calico-project


【解决方案1】:

您使用的是哪个版本的 myro?

看一下here,我可以看到timeRemaining定义在__init__.py中,它是在运行from myro import *时导入的。部分老版本没有此功能,所以请确保您首先运行的是最新版本。

【讨论】:

  • 我正在运行最新版本的 mac。我相信它是 3.1
  • 另外,当我执行“感官”功能时,它说我的光是 65000,但在书中它说它应该最大为 5000
  • Konercny,我的老师给了我这个链接。 Mac 的最新版本是 3.1。你是在建议我下载旧版本吗? myro.roboteducation.org/~dblank/download/?C=N;O=D;P=*-mac*.zip
  • 哦.. 我有最新版本的 Calico,但似乎不是最新版本的 Myro。怎么安装,直接点.py文件?
  • 看来我有 2.8,因为这是网站上推荐的。不知道怎么把2.9放到Mac上的python路径中。
猜你喜欢
  • 2018-02-02
  • 1970-01-01
  • 2018-05-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-03
  • 2014-04-05
  • 2018-02-03
相关资源
最近更新 更多