python程序控制NAO機器人行走
更新時間:2019年04月29日 09:52:03 作者:Earl_Martin
這篇文章主要為大家詳細介紹了python程序控制NAO機器人行走,具有一定的參考價值,感興趣的小伙伴們可以參考一下
最近重新學習nao的官方文檔,寫點簡單的程序回顧一下。主要是用python調(diào)用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)
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python?HMAC模塊維護數(shù)據(jù)安全技術(shù)實例探索
本篇博客將帶領(lǐng)讀者深入探索Python中HMAC模塊的高級應(yīng)用,通過豐富的示例代碼和詳細的解釋,揭示HMAC在實際應(yīng)用場景中的多面光芒,從基礎(chǔ)概念到密碼存儲、文件完整性驗證、API安全,再到與加密算法的巧妙結(jié)合2024-01-01
pyenv與virtualenv安裝實現(xiàn)python多版本多項目管理
這篇文章主要介紹了pyenv與virtualenv安裝實現(xiàn)python多版本多項目管理過程,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-08-08
對pandas數(shù)據(jù)判斷是否為NaN值的方法詳解
今天小編就為大家分享一篇對pandas數(shù)據(jù)判斷是否為NaN值的方法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11
將數(shù)據(jù)集制作成VOC數(shù)據(jù)集格式的實例
今天小編就為大家分享一篇將數(shù)據(jù)集制作成VOC數(shù)據(jù)集格式的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02
使用Python連接MySQL數(shù)據(jù)庫進行編程的步驟詳解
Python數(shù)據(jù)庫編程可以使用多種模塊與API,例如SQLite、MySQL、PostgreSQL等,本教程將重點介紹使用Python連接MySQL數(shù)據(jù)庫進行編程,需要的朋友可以參考下2023-06-06

