python实现nao机器人身体躯干和腿部动作操作

yipeiwu_com7年前Python基础

本文实例为大家分享了python实现nao机器人身体躯干和腿部动作的具体代码,供大家参考,具体内容如下

上一篇类似,代码没什么难度,可以进行扩展。

#-*-encoding:UTF-8-*-
'''control nao's left foot,
  cartesian control:torso and foot trajectories
  '''
 
import sys
import motion
from naoqi import ALProxy
 
def StiffnessOn(proxy):
        pNmaes="Body"
        pStiffnessLists=1.0
        pTimeLists=1.0
        proxy.stiffnessInterpolation(pName,pStiffnessLists,pTimeLists)
 
def main(robotIP):
        '''example of cartesian foot trajectory
        '''
        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)
        #send nao to pose init
        postureProxy.goToPosture("StandInit",0.5)
 
        space=motion .FRAME_ROBOT
        AxisMask=almath.AXIS_MASK_VEL
        isAbsolute=False
        path=[0.0,-0.07,-0.03,0.0,0.0,0.0]
        #lower the torso and move the size
        effector="Torso"
        time=2.0
        motionProxy.positionInterpolation(effector,space,path,axisMask,time,isAbsolute)
 
        #lleg motion
        effector="LLeg"
        path=[0.0,0.06,0.00,0.0,0.0,0.0]
        times=2.0
 
        motionProxy.positionInterpolation(effector,space,axisMask,time,isAbsolute)
        
if __name__=="__main__":
        robotIP="127.0.0.1"
        if len(sys.argv)<=1:
               print "usage python robotIP"
        else:
               robotIP=sys.argv[1]
        main(robotIP)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

对numpy和pandas中数组的合并和拆分详解

合并 numpy中 numpy中可以通过concatenate,指定参数axis=0 或者 axis=1,在纵轴和横轴上合并两个数组。 import numpy as np impo...

Python多线程threading和multiprocessing模块实例解析

Python多线程threading和multiprocessing模块实例解析

本文研究的主要是Python多线程threading和multiprocessing模块的相关内容,具体介绍如下。 线程是一个进程的实体,是由表示程序运行状态的寄存器(如程序计数器、栈指...

python 为什么说eval要慎用

eval前言 In [1]: eval("2+3") Out[1]: 5 In [2]: eval('[x for x in range(9)]') Out[2]: [0, 1,...

python基础教程之分支、循环简单用法

本文实例讲述了python分支、循环简单用法。分享给大家供大家参考,具体如下: 讲程序设计,不得不讲到顺序、分支、循环。 顺序就是从上到下运行代码,这个很简单,不用再说了。 在讲分支、循...

python多线程并发实例及其优化

单线程执行 python的内置模块提供了两个内置模块:thread和threading,thread是源生模块,threading是扩展模块,在thread的基础上进行了封装及改进。所...