前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >对NAO的手臂控简单控制

对NAO的手臂控简单控制

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

对NAO的手臂控简单控制

开启/关闭走路时手臂的摆动

如何才能控制NAO的手臂呢?官方文档中给出了一段代码介绍:

手臂控制
手臂控制

这段代码中给出了如何控制NAO走路时是否摆动手臂,可以说是很简单了。难点在于怎么控制它的手臂固定在自己想要的角度呢?这就要用到另外的代码了。

设置角度

文档中有个在ALMotion库下的API叫做angleInterpolationWithSpeed可以通过传入一些参数进行控制,样式如下:

motionProxy.angleInterpolation(names, angleLists, targetAngles, maxSpeedFraction)

其中names可以是身体或关节名,targetAngles是弧度制下的一串角度,maxSpeedFraction可以通过传入小数控制动作速度。

那么问题就来了,如果我们想给手臂设置姿势,那么就需要对它传值,可这个list该怎么写呢?

抬手角度
抬手角度

从图片中我们可以看出,NAO的一个手臂上有六个关节控制,也就是说我们要传的list应该有6个值。经过我的测试,顺序如下:

Arm = [LShoudlerPitch,LShoudlerRoll,LElbowYaw,LElbowRoll,LWristYaw,LHandle]

以左臂为例,我们只要将部位名称、角度值列表、速度传入即可:

motionProxy.angleInterpolationWithSpeed("LArm",Arm, 0.1)

但是后来我又发现了另一种方法同样可以控制手臂的角度,虽然比这个函数好理解一些,但是稍微有些麻烦,即通过setAngles函数设置角度值。但是因为时间关系,我并没有去实现,希望有人可以自己实现一下。

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 对NAO的手臂控简单控制
    • 开启/关闭走路时手臂的摆动
      • 设置角度
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档