很早之前就打算写一下博客,但一直都被Hold住了,直到现在才开始,在接下来的一段时间,小编会陆陆续续更新一些关于Nao的博客
以下方法,仅供参考,大神请移步
篇幅比较少,大家理解方法就好。
原理:
1. 同步各个机器人的时间,可以以网络时间为基准,也可以在其中一台机器人的时间为基准
2.机器人预加载舞蹈程序,等待接收指令
3.接收到指令,通过延时相对基准时间的偏移实现同步舞蹈
注意:以下仅仅是一些代码片段,仅作参考
实现:
1.  同步网络的时间,并记录偏移时间delayTime,以下使用循环同步时间只是为了减少偏移时间
from naoqi import ALProxy
import oscmd = "/usr/sbin/ntpdate -u ntp.api.bz | awk -F ' ' '{print $10}'"
while True:delayTime = os.popen(cmd).read()delayTime = float(delayTime)if abs(delayTime) < 0.01:breakmemory = ALProxy("ALMemory", "127.0.0.1", 9559)
注:/usr/sbin/ntpdate需要root权限,如果需要开机启动或者不想手动切换,可以修改一个叫做su的配置文件使得切换root时无需输入密码,或者修改一个叫做sudoers的配置文件,使得普通用户可以运行/usr/sbin/ntpdate,推荐修改后者,修改前者有一定风险
2. 机器人预加载舞蹈程序,通过ALBehaviorManager,这个小编觉得很重要,之前看过一份关于舞蹈同步的文档,里面介绍了好几种方法,但是效果都不太理想,没有介绍过这一部分,原因在于不同机器人如果不预加载程序而直接运行,是无法保证同步的,毕竟就算完全相同的电脑的启动程序的时间都是有偏差的。
behavior = ALProxy("ALBehaviorManager", "127.0.0.1", 9559)
behavior.preloadBehavior("舞蹈程序名")
delayTime = memory.getData("DelayTime")
memory.insertData("DelayTime", delayTime)

3.等待接收指令,这里可以使用事件来激活,也可以通过通知ALNotification或者其他类型的来发送指令,这里就不伸展开来了,考虑到网络原因,小编采用的是传感器事件,在触发事件之后等待时间的秒数刚好为0时开始执行事件执行函数,事件执行函数里面要对之前同步时间得到的偏移进行延时
while True:if datetime.datetime.now().second == 0://事件执行函数
注:建议在延时时多延时2秒左右,因为时间偏移可能会出现负值
完整代码就不留在这里了,毕竟代码写得太挫不好意思拿出手,我会把一些代码放在GitHub上,实在有需要的可以到GitHub上面参考一下,关于一些API的使用就不作阐述,有需要直接研究文档即可,小编会陆陆续续写一些关于Nao的博客,有需要的可以继续关注

法国Nao机器人如何实现舞蹈同步相关推荐

  1. 法国Nao机器人在C++开发中如何使用外部库

    最近经常被问到关于使用C++开发NAO机器人时,如何使用外部库的问题,下面我就做一下简单的总结,希望能帮到有需要的你 关于这一点,其实不难,只要配置好CMakeLists.txt就好 1.指定链接库目 ...

  2. Nao机器人如何实现视频监控

    最近发现群里有朋友在问如何实现Nao机器人视频监控,就写下这篇博客,希望能帮助到大家. 直入正题,法国Nao机器人如何实现视频监控,这里提供三种方式,第一种是基于socket传输的,第二种是使用ope ...

  3. 用python编写nao机器人舞蹈_python控制nao机器人身体动作实例详解

    python控制nao机器人身体动作实例详解 发布时间:2020-10-23 09:18:22 来源:脚本之家 阅读:89 本文实例为大家分享了python控制nao机器人身体动作的具体代码,供大家参 ...

  4. 用python编写nao机器人舞蹈_python实现nao机器人身体躯干和腿部动作操作

    本文实例为大家分享了python实现nao机器人身体躯干和腿部动作的具体代码,供大家参考,具体内容如下 跟上一篇类似,代码没什么难度,可以进行扩展. #-*-encoding:UTF-8-*- ''' ...

  5. Nao机器人跳恋爱循环

    Nao舞蹈借鉴了下面的视屏 传送门 支持点新闻.点歌.拜年.跳舞(恋爱循环舞蹈同步),一个小小的Nao项目. 下面的是工程目录哦,直接导入就能使用. 百度网盘链接: 链接:https://pan.ba ...

  6. nao机器人python库安装_NAO机器人学习笔记(1)

    1 NAO机器人硬件 1.1 红外线 红外线发射角度-60°~+60°,波长940nm. 1.2 超声波(声纳) NAO能够探测前方0.25~2.55m内是否有障碍物,探测角度60°,超声波频率为49 ...

  7. nao机器人行走速度_NAO5机器人的一些使用心得

    一.背景 2014年开始推出V5机器人. 二.简介 NAO机器人是一个57厘米高的可编程仿人机器人.其关键组件如下: (1)拥有25个自由度(DOF)的身体,其关键部件为电机与致动器. (2)一系列传 ...

  8. NAO机器人学习教程-第一篇

    NAO机器人版本迭代和系统镜像 1.NAO机器人历史简介 2.NAO机器人机型版本 1.早期NAO机器人 2.早期NAO机器人机身版本 3.V4和V5版本NAO机器人 1.NAO机器人历史简介 200 ...

  9. [行业调研]NAO机器人相关

    ################## NAO机器人 ################## NAO机器人是Aldebaran Robotics公司研制的一款人工智能机器人.Nao是在学术领域世界范围内运 ...

最新文章

  1. 2021年大数据常用语言Scala(二十八):scala面向对象 MAVEN依赖和类
  2. jquery 使用小技巧
  3. 7-2 一元多项式的乘法与加法运算 (20 分)(思路加详解+map做法)map真香啊 各个测试点的用例子 来吧宝贝!
  4. 智能安防监控解决方案,实现AI能力在安防行业落地
  5. Github标星27.1k,可大批量生成假数据,这个工具忒牛
  6. 再探正则表达式c++-html中搜索url
  7. 关于小米手机修改开发者模式中最小宽度无限重启的问题
  8. matlab的textscan与textread区别(转)
  9. USB3.0视频输出方案
  10. Spring framework源码 Constants学习
  11. 每日新闻:腾讯与Line携手在日本提供移动支付服务;阿里组织架构调整 行癫任阿里云智能总裁;每周要工作80小时才有可能改变世界...
  12. Codeforces869 E. The Untended Antiquity (随机化算法)
  13. FPGA Implementation of BPSK Modulator and Demodulator
  14. 2022年零基础自学网络安全/Web安全,看这一篇就够了
  15. 浅谈SPA、SEO、SSR
  16. 为什么华为、阿里、字节跳动、微软等都走上了云原生和数字化之路?
  17. 狮子鱼社区团购系统CMS任意文件2处上传漏洞
  18. 基于simulink的模糊自整定PID控制器设计与仿真
  19. 知行大数据分析平台需求说明
  20. Android的语言设置(一)

热门文章

  1. 如何运行开源游戏?八分音符酱python版踩坑记录
  2. 数学建模--转移矩阵
  3. 那些数学不好的程序员,最后都怎么样了?
  4. 蘑菇街、滴滴、淘宝、微信的组件化架构解析,附Demo和PDF
  5. 记:故障之充电状态下CC电阻值、CP参数频繁波动
  6. 不止于IaaS,运营商要用PaaS构筑生态竞争力
  7. 2022年全球与中国房间调度系统行业发展趋势及投资战略分析报告
  8. 《计算机工程与应用》23天录用经历
  9. NSArray/NSMutableArray基础操作
  10. 2021-05-31IDC销售管理系统——魔方财务真的好用吗?