前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python SDK入门(2)——让NAO行走并说话

Python SDK入门(2)——让NAO行走并说话

作者头像
李志伟
发布2019-12-17 17:45:09
7920
发布2019-12-17 17:45:09
举报
文章被收录于专栏:为学为学

Python SDK入门(2)——让NAO行走并说话

 1. 使NAO刚化

  • 除非你将NAO的stiffness的值设为非0数,否则它是不会移动的
  • 而要做到这点其实很简单,只要通过调用ALMotionProxy::setStiffnesses()进行设置即可: from naoqi import ALProxy motion = ALProxy("ALMotion", "nao.local", 9559) motion.setStiffnesses("Body", 1.0)

2. 使NAO移动

为了让NAO移动,我们应该使用 ALMotionProxy::moveInit()函数(以使NAO处于合适的姿势),然后再调用ALMotionProxy::moveTo()

代码语言:javascript
复制
from naoqi import ALProxy
motion = ALProxy("ALMotion", "nao.local", 9559)
motion.moveInit()
motion.moveTo(0.5, 0, 0)

3. 使NAO同时说话并行走

我们创建的每一个代理(proxy)都有一个叫做”post”的属性,且可以通过使用它在后台调用很多方法。

这可以帮助我们使机器人同时做很多事:

代码语言:javascript
复制
from naoqi import ALProxy
motion = ALProxy("ALMotion", "nao.local", 9559)
tts = ALProxy("ALTextToSpeech", "nao.local", 9559)
motion.moveInit()
motion.post.moveTo(0.5, 0, 0)
tts.say("I'm walking")

当然,如果需要等待一个任务结束,我们可以使用ALProxy中的等待方法,使用寄出的方法(the post usage)所返回的任务ID:

代码语言:javascript
复制
from naoqi import ALProxy
motion = ALProxy("ALMotion", "nao.local", 9559)
motion.moveInit()
id = motion.post.moveTo(0.5, 0, 0)
motion.wait(id, 0)

完整的程序

代码语言:javascript
复制
from naoqi import ALProxy
import argparse

motion = ALProxy("ALMotion", "192.168.1.114", 9559)         #NAO的动作对象
tts = ALProxy("ALTextToSpeech", "192.168.1.114", 9559)      #NAO的语言对象
posture = ALProxy("ALRobotPosture", "192.168.1.114", 9559)  #NAO的姿势对象

#首先唤醒NAO
motion.wakeUp()

#让NAO站好
posture.goToPosture("StandInit", 0.5)

#将其刚化
motion.setStiffnesses("Body", 1.0)

#初始化
motion.moveInit()

#让NAO向前走1米,同时返回任务ID给id
id = motion.post.moveTo(1, 0, 0)

tts.say("I'm walking")

#直到id传过来了,再执行wait()函数
motion.wait(id, 0)

tts.say("I will not walk anymore")

#让NAO休眠
motion.rest()
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Python SDK入门(2)——让NAO行走并说话
    •  1. 使NAO刚化
      • 2. 使NAO移动
        • 3. 使NAO同时说话并行走
          • 完整的程序
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档