python程序控制NAO机器人行走


Posted in Python onApril 29, 2019

最近重新学习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 相关文章推荐
使用Python的Twisted框架实现一个简单的服务器
Apr 16 Python
Python入门之三角函数sin()函数实例详解
Nov 08 Python
Pandas库之DataFrame使用的学习笔记
Jun 21 Python
Python SQLAlchemy入门教程(基本用法)
Nov 11 Python
Django将默认的SQLite更换为MySQL的实现
Nov 18 Python
用python中的matplotlib绘制方程图像代码
Nov 21 Python
PyCharm使用之配置SSH Interpreter的方法步骤
Dec 26 Python
关于python pycharm中输出的内容不全的解决办法
Jan 10 Python
Python SSL证书验证问题解决方案
Jan 13 Python
Python常用库Numpy进行矩阵运算详解
Jul 21 Python
Python 实现进度条的六种方式
Jan 06 Python
Python提取PDF指定内容并生成新文件
Jun 09 Python
Django web框架使用url path name详解
Apr 29 #Python
Python对HTML转义字符进行反转义的实现方法
Apr 28 #Python
Django使用redis缓存服务器的实现代码示例
Apr 28 #Python
django的settings中设置中文支持的实现
Apr 28 #Python
Django数据库类库MySQLdb使用详解
Apr 28 #Python
Django中如何防范CSRF跨站点请求伪造攻击的实现
Apr 28 #Python
​如何愉快地迁移到 Python 3
Apr 28 #Python
You might like
php与php MySQL 之间的关系
2009/07/17 PHP
简单的PHP多图上传小程序代码
2011/07/17 PHP
PHP使用DES进行加密与解密的方法详解
2013/06/06 PHP
php实例分享之通过递归实现删除目录下的所有文件详解
2014/05/15 PHP
常见PHP数据库解决方案分析介绍
2015/09/24 PHP
javascript之大字符串的连接的StringBuffer 类
2007/05/08 Javascript
js中匿名函数的N种写法
2010/09/08 Javascript
js中parseFloat(参数1,参数2)定义和用法及注意事项
2013/01/27 Javascript
手机开发必备技巧:javascript及CSS功能代码分享
2015/05/25 Javascript
javascript bom是什么及bom和dom的区别
2015/11/26 Javascript
js简单网速测试方法完整实例
2015/12/15 Javascript
有关easyui-layout中的收缩层无法显示标题的解决办法
2016/05/10 Javascript
深入理解Javascript中的作用域链和闭包
2017/04/25 Javascript
微信小程序Redux绑定实例详解
2017/06/07 Javascript
jQuery层级选择器_动力节点节点Java学院整理
2017/07/04 jQuery
AngularJS 中的数据源的循环输出
2017/10/12 Javascript
vue使用v-for实现hover点击效果
2018/09/29 Javascript
微信小程序 行的删除和增加操作实现详解
2019/09/29 Javascript
全局安装 Vue cli3 和 继续使用 Vue-cli2.x操作
2020/09/08 Javascript
[46:38]完美世界DOTA2联赛PWL S2 Magma vs PXG 第三场 11.28
2020/12/02 DOTA
Python探索之修改Python搜索路径
2017/10/25 Python
PyQt5每天必学之创建窗口居中效果
2018/04/19 Python
python 遍历目录(包括子目录)下所有文件的实例
2018/07/11 Python
pandas 根据列的值选取所有行的示例
2018/11/07 Python
python里运用私有属性和方法总结
2019/07/08 Python
将python运行结果保存至本地文件中的示例讲解
2019/07/11 Python
Tensorflow中k.gradients()和tf.stop_gradient()用法说明
2020/06/10 Python
Python pandas对excel的操作实现示例
2020/07/21 Python
用python计算文件的MD5值
2020/12/23 Python
HTML5组件Canvas实现图像灰度化(步骤+实例效果)
2013/04/22 HTML / CSS
德国原装品牌香水、化妆品和手表网站:BRASTY.DE
2016/10/16 全球购物
酒店应聘自荐信
2013/11/09 职场文书
酒店中秋节促销方案
2014/01/30 职场文书
公司门卫岗位职责
2015/04/13 职场文书
JS实现简单九宫格抽奖
2022/06/28 Javascript
Tomcat安装使用及部署Web项目的3种方法汇总
2022/08/14 Servers