python程序控制NAO机器人行走

时间:2021-05-22

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

'''Walk:small example to make nao walk'''import sysimport motionimport timefrom naoqi import ALProxydef 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)

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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章