python程序控制NAO机器人行走

 更新时间:2019年04月29日 09:52:03   作者:Earl_Martin  
这篇文章主要为大家详细介绍了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 HMAC模块维护数据安全技术实例探索

    Python HMAC模块维护数据安全技术实例探索

    本篇博客将带领读者深入探索Python中HMAC模块的高级应用,通过丰富的示例代码和详细的解释,揭示HMAC在实际应用场景中的多面光芒,从基础概念到密码存储、文件完整性验证、API安全,再到与加密算法的巧妙结合
    2024-01-01
  • pyenv与virtualenv安装实现python多版本多项目管理

    pyenv与virtualenv安装实现python多版本多项目管理

    这篇文章主要介绍了pyenv与virtualenv安装实现python多版本多项目管理过程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-08-08
  • 基于Python 优化 MUI标题栏

    基于Python 优化 MUI标题栏

    这篇文章主要介绍的是基于Python 优化 MUI标题栏,一个特色鲜明MUI界面无疑是能够吸引用户的关键之一,这利用css和JavaScript可以很快进行实现,但是同时对于初学者来说也是困难的,下面文章就来学习几个简单的小技巧实现页面美化吧,需要的朋友可以参考一下
    2021-11-11
  • 对pandas数据判断是否为NaN值的方法详解

    对pandas数据判断是否为NaN值的方法详解

    今天小编就为大家分享一篇对pandas数据判断是否为NaN值的方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-11-11
  • python给视频添加背景音乐并改变音量的具体方法

    python给视频添加背景音乐并改变音量的具体方法

    在本篇文章里小编给大家整理的是关于python给视频添加背景音乐并改变音量的具体方法,需要的朋友们可以参考下。
    2020-07-07
  • 将数据集制作成VOC数据集格式的实例

    将数据集制作成VOC数据集格式的实例

    今天小编就为大家分享一篇将数据集制作成VOC数据集格式的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-02-02
  • 一篇文章搞懂Python的文件路径操作

    一篇文章搞懂Python的文件路径操作

    这篇文章主要给大家介绍了关于Python文件路径操作的相关资料,在python中我们会经常的对文件使用路径,文件路径通常有两种,分别为绝对路径、相对路径,需要的朋友可以参考下
    2023-07-07
  • 使用Python连接MySQL数据库进行编程的步骤详解

    使用Python连接MySQL数据库进行编程的步骤详解

    Python数据库编程可以使用多种模块与API,例如SQLite、MySQL、PostgreSQL等,本教程将重点介绍使用Python连接MySQL数据库进行编程,需要的朋友可以参考下
    2023-06-06
  • python中slice参数过长的处理方法及实例

    python中slice参数过长的处理方法及实例

    在本篇文章里小编给大家分享了一篇关于python中slice参数过长的处理方法及实例内容,有兴趣的朋友们可以学习参考下。
    2020-12-12
  • 跟老齐学Python之总结参数的传递

    跟老齐学Python之总结参数的传递

    这篇文章主要介绍了Python参数的传递的总结,非常的实用,有需要的朋友可以参考下
    2014-10-10

最新评论