python编程控制机器人_python程序控制NAO机器人行走

最近重新学习nao的官方文档,写点简单的程序回顾一下。主要是用python调用api,写下来保存着。

'''Walk:small example to make nao walk'''

import sys

import motion

import time

from naoqi import ALProxy

def StiffnessOn(proxy):

#we use the 'body' to signify the collection of all joints

pName="Body"

pStiffnessLists=1.0

pTimeLists=1.0

proxy.stiffnessInterpolation(pName,pStiffnessLists,pTimeLists)

def main(robotIP):

#init proxies

try:

motionProxy=ALProxy("ALMotion",robotIP,9559)

except Exception,e:

print "could not create proxy to ALMotion"

print"error was",e

try:

postureProxy=ALProxy("ALRobotPosture",robotIP,9559)

except Exception,e:

print"could not create proxy to ALRobotPosture"

print "error is ",e

#set nao in stiffness on

StiffnessOn(motionProxy)

#send nao to pose init

postureProxy.goToPosture("StandInit",0.5);

#eable arms control by walk algorithm

motionProxy.setWalkArmsEable(True,True)

#foot contact protection

motionProxy.setMotionConfig([["ENABLE_FOOT_CONTACT_PROTECTION",True]])

#target velocity

X=-0.5 #backward

Y=0.0

Theta=0.0

Frequency=0.0#low speed

motionProxy.setWalkTargetVelocity(X,Y.Theta,Frequency)

time.sleep(4.0)

#target velocity

X=0.9

Y=0.0

Theta=0.0

Frenqency=1.0#max speed

motionProxy.setWalkTargetVelocity(X,Y,Theta,Frenquency)

time.sleep(2.0)

#arms user motion

#arms motion from user have alwalys priority than walk arms motion

JoinNames=["LShouderPitch","LShouderRoll","LElbowYaw","LElbowRoll"]

Arm1=[-40,25,0,-40]

Arm1=[x*motion.TO_RAD for x in Aram1]

Arm2=[-40,50,0,-80]

Arm2=[x*motion.TO_RAD for x in Aram2]

pFractionMaxSpeed=0.6

motionProxy.angleInterpolationWithSpeed(JoinNames,Arms1,pFractionMaxSpeed)

motionProxy.angleInterpolationWithSpeed(JoinNames,Arms2,pFractionMaxSpeed)

motionProxy.angleInterpolationWithSpeed(JoinNames,Arms1,pFractionMaxSpeed)

#end walk

X=0.0

Y=0.0

Theta=0.0

motionProxy.setWalkTargetVelocity(X,Y,Theta,Frequency)

if __name__=="__main__":

robotIP="192.168.1.155"

if len(sys.argv)<=1:

print "useage pyhton motion_walk.py robotIP,default is 127.0.0.1"

else:

robotIp=sys.argv[1]

main(robotIP)

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

本文标题: python程序控制NAO机器人行走

本文地址: http://www.cppcns.com/jiaoben/python/257944.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值