python控制nao机器人身体动作实例详解


Posted in Python onApril 29, 2019

本文实例为大家分享了python控制nao机器人身体动作的具体代码,供大家参考,具体内容如下

今天读的代码,顺便写了出来,与文档的对比,差不多。

import sys
import motion
import almath
import naoqi from ALProxy
 
def StiffnessOn(proxy):
        pName="Body"
        pStiffnessLists
        pTime=1.0
        proxy.stiffnessInterpolation(pName,pStiffnessLists,pTime)
 
def main(robotIP):
        try:
               motionProxy=ALProxy("ALMotion",robotIP,9559)
        except Exception,e:
               print:"could not create a proxy!"
               print:"error is ",e
               
        try:
               postureProxy=ALProxy("ALRobotPosture",robotIP,9559)
        except Exception,e:
               print:"could not create a proxy!"
               print:"error is ",e
 
        StiffnessOn(motionProxy)
        postureProxy.goToPosture("StandInit",0.5)
 
        space=motion.FRAME_ROBOT
        coef=0.5
        times=[coef,2.0*coef,3.0*coef,4.0*coef]
        isAbsolute=False
        dy=+0.06
        dz=-0.03
        dwx==+0.30
 
        effector="Torso"
        path=[
               [0.0,-dy,dz,-dwx,0.0,0.0],
               [0.0,0.0,0.0,0.0,0.0,0.0],
               [0.0,+dy,dz,+dwx,0.0,0.0],
               [0.0,0.0,0.0,0.0,0.0,0.0]
              ]
 
        axisMask=almath.AXIS_MASK_ALL
        motionProxy.post.postionInterpolation(effector,space,path,times,isAbsolute)
 
        #motion of arms with block process
        axisMask=almath.AXIS_MASK_VEL
        times=[1.0*coef,2.0*coef]
        dy=+0.03
        effecor="RArm"
        path=[
               [0.0,dy,0.0,0.0,0.0,0.0],
               [0.0,0.0,0.0,0.0,0.0,0.0]
              ]
        motionProxy.positionInterpolation(effector,space,path,axisMask,times,inAbsolute)
 
if __name__=="__main__":
        robotIP="127.0.0.1"
 
        if len(sys.argv)<=1:
               print"useage default robotIP"
        else:
               robotIP=sys.arv[1]
        main(robotIP)

实例二,控制左右胳膊

#-*-encoding:UTF-8 -*-
 
import sys
import motion
import almath
form naoqi import ALProxy
 
def StiffnessOn(proxy):
        pName="Body"
        pStiffnessLists=1.0
        pTimeLists=1.0
        proxy.stiffnessInterpolation(pName,pStiffnessLists,pTimeLists)
 
def main(robotIP):
 
        #create a proxy to almtion
        try:
               motionProxy=ALProxy("ALMotion",robotIP,9559)
        except Exception,e:
               print "could not create a proxy"
               print "error is ",e
 
        #create a proxy to alrobotposture
        try:
               postureProxy=ALProxy("ALRobotPosture",robotIP,9559)
        except Exception,e:
               print "could not create a proxy"
               print "error is ",e
 
 
        StiffnessOn(motionProxy)
        postureProxy.goToPosture("StandInit",0.5)
        space=motion.FRAME_ROBOT
        isAbsolute=False
 
        effectorList=["LArm","RArm"]
        #motion of arms with block process
        axisMaskList=[almath.AXIS_MASK_VEL,almath.AXIS_MASK_VEL]
        timeLists=[[1.0],[1.0]]
        pathList=[   
                  [
                    [0.0,-0.04,0.0,0.0,0.0,0.0]],
                  [ 
                    [0.0,0.04,0.0,0.0,0.0,0.0]]
                ]
        motionProxy.positionInterpolation(effectorLists,space,pahtLists,axisMaskList,timeLists,isAbsolute)
 
        effectorLists=["LArm","RArm","Torso"]
        axisMaskLists=[
               almath.AXIS_MASK_VEL,
               almath.AXIS_MASK_VEL,
               almath.AXIS_MASK_ALL
               ]
        timeLists=[
               [[0.0,0.0,0.0,0.0,0.0,0.0]],
               [[0.0,0.0,0.0,0.0,0.0,0.0]],
               [0.0,+dy,0.0,0.0,0.0,0.0],
               [0.0,-dy,0.0,0.0,0.0,0.0],
               [0.0,0.0,0.0,0.0,0.0,0.0]
               ]
        motionProxy.positionInterpolations(effectorList,space,pathList,axisMaskList,timeList,isAbsolute)
 
if __name__=="__main__":
        robotIP="127.0.0.1"
        if(sys.argv<1):
               print"usege default ip"
        else:
               robotIP=sys.arv[1]
        main(robotIP)

感受:

这些小的程序最不好处理的就是path中的数据了。这些数据是怎么获得的?最大的可能就是在choregraph中3D视图中测试得到,当然还有一种可能就是将choregraph与实体机连接,将机器人置于practice状态,这样操作来获得数据。后者操作性更强,但由于实际原因,用前者的可能性是最大的。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python动态加载变量示例分享
Feb 17 Python
Python采集腾讯新闻实例
Jul 10 Python
python处理文本文件并生成指定格式的文件
Jul 31 Python
scrapy爬虫实例分享
Dec 28 Python
Python3实现带附件的定时发送邮件功能
Dec 22 Python
详谈Python中列表list,元祖tuple和numpy中的array区别
Apr 18 Python
PyTorch CNN实战之MNIST手写数字识别示例
May 29 Python
Pytorch Tensor基本数学运算详解
Dec 30 Python
python 用Matplotlib作图中有多个Y轴
Nov 28 Python
python-图片流传输的思路及示例(url转换二维码)
Dec 21 Python
Django 实现图片上传和下载功能
Dec 31 Python
Python中文分词库jieba(结巴分词)详细使用介绍
Apr 07 Python
python实现nao机器人身体躯干和腿部动作操作
Apr 29 #Python
解决Python找不到ssl模块问题 No module named _ssl的方法
Apr 29 #Python
GitHub 热门:Python 算法大全,Star 超过 2 万
Apr 29 #Python
python实现nao机器人手臂动作控制
Apr 29 #Python
python机器人运动范围问题的解答
Apr 29 #Python
浅谈Python3中strip()、lstrip()、rstrip()用法详解
Apr 29 #Python
Python 实现微信防撤回功能
Apr 29 #Python
You might like
php入门小知识
2008/03/24 PHP
深入PHP中的HashTable结构详解
2013/06/13 PHP
PHP递归删除目录几个代码实例
2014/04/21 PHP
PHP生成条形图的方法
2014/12/10 PHP
PHP chr()函数讲解
2019/02/11 PHP
JavaScript入门教程 Cookies
2009/01/31 Javascript
javascript function、指针及内置对象
2009/02/19 Javascript
jQuery中:password选择器用法实例
2015/01/03 Javascript
基于jQuey实现鼠标滑过变色(整行变色)
2015/12/07 Javascript
基于openlayers4实现点的扩散效果
2020/08/17 Javascript
微信小程序实现运动步数排行功能(可删除)
2018/07/05 Javascript
微信小程序url传参写变量的方法
2018/08/09 Javascript
深入理解Vue 的钩子函数
2018/09/05 Javascript
vue动画打包后失效问题的解决方法
2018/09/18 Javascript
微信小程序在text文本实现多种字体样式
2019/11/08 Javascript
JS 创建对象的模式实例小结
2020/04/28 Javascript
详解JavaScript中的数据类型,以及检测数据类型的方法
2020/09/17 Javascript
Python进行数据提取的方法总结
2016/08/22 Python
Python解惑之整数比较详解
2017/04/24 Python
浅谈python中get pass用法
2019/03/19 Python
PyQt5基本控件使用之消息弹出、用户输入、文件对话框的使用方法
2019/08/06 Python
pytorch 实现查看网络中的参数
2020/01/06 Python
Keras SGD 随机梯度下降优化器参数设置方式
2020/06/19 Python
python 基于UDP协议套接字通信的实现
2021/01/22 Python
Python3+SQLAlchemy+Sqlite3实现ORM教程
2021/02/16 Python
CSS3字体效果的设置方法小结
2016/06/13 HTML / CSS
FORZIERI福喜利中国官网:奢侈品购物梦工厂
2019/05/03 全球购物
入党积极分子思想汇报范文
2014/01/05 职场文书
如何写自我鉴定
2014/03/19 职场文书
艺人经纪人岗位职责
2014/04/15 职场文书
努力工作保证书
2015/02/28 职场文书
小学教师求职信范文
2015/03/20 职场文书
八年级语文教学反思
2016/03/03 职场文书
Golang 如何实现函数的任意类型传参
2021/04/29 Golang
Nginx如何获取自定义请求header头和URL参数详解
2022/07/23 Servers
Java Spring读取和存储详细操作
2022/08/05 Java/Android