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爬取csdn博客访问量
Feb 14 Python
全面了解Python的getattr(),setattr(),delattr(),hasattr()
Jun 14 Python
Python 实现一个颜色色值转换的小工具
Dec 06 Python
Tensorflow实现卷积神经网络的详细代码
May 24 Python
python3解析库pyquery的深入讲解
Jun 26 Python
Python用csv写入文件_消除空余行的方法
Jul 06 Python
详解通过API管理或定制开发ECS实例
Sep 30 Python
Python实现高斯函数的三维显示方法
Dec 29 Python
python 为什么说eval要慎用
Mar 26 Python
Python参数解析模块sys、getopt、argparse使用与对比分析
Apr 02 Python
python 实现多线程下载视频的代码
Nov 15 Python
PyCharm常用配置和常用插件(小结)
Feb 06 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
在PHP3中实现SESSION的功能(三)
2006/10/09 PHP
比file_get_contents稳定的curl_get_contents分享
2012/01/11 PHP
PHP编码转换函数 自动转换字符集支持数组转换
2012/12/16 PHP
php中try catch捕获异常实例详解
2014/11/21 PHP
php使用str_replace实现输入框回车替换br的方法
2014/11/24 PHP
浅析PHP开发规范
2018/02/05 PHP
JavaScript聚焦于第一个字段的代码
2010/10/15 Javascript
javascript开发中因空格引发的错误
2010/11/08 Javascript
表头固定(利用jquery实现原理介绍)
2012/11/08 Javascript
JavaScript的模块化:封装(闭包),继承(原型) 介绍
2013/07/22 Javascript
jQuery创建DOM元素实例解析
2015/01/19 Javascript
jQuery显示和隐藏 常用的状态判断方法
2015/01/29 Javascript
javascript制作网页图片上实现下雨效果
2015/02/26 Javascript
JavaScript事件委托实例分析
2015/05/26 Javascript
SublimeText自带格式化代码功能之reindent
2015/12/27 Javascript
利用iscroll4实现轮播图效果实例代码
2017/01/11 Javascript
bootstrap-table实现服务器分页的示例 (spring 后台)
2017/09/01 Javascript
vue的安装及element组件的安装方法
2018/03/09 Javascript
vue中使用微信公众号js-sdk踩坑记录
2019/03/29 Javascript
vue项目创建并引入饿了么elementUI组件的步骤
2019/04/11 Javascript
ant design vue中日期选择框混合时间选择器的用法说明
2020/10/27 Javascript
用Python实现通过哈希算法检测图片重复的教程
2015/04/02 Python
详解Django缓存处理中Vary头部的使用
2015/07/24 Python
Python中文件I/O高效操作处理的技巧分享
2017/02/04 Python
Python实现的井字棋(Tic Tac Toe)游戏示例
2018/01/31 Python
python实现简单颜色识别程序
2020/02/19 Python
零基础学python应该从哪里入手
2020/08/11 Python
Python绘制组合图的示例
2020/09/18 Python
Python通过字典映射函数实现switch
2020/11/06 Python
CSS3 实现footer 固定在底部(无论页面多高始终在底部)
2019/10/15 HTML / CSS
Answear匈牙利:来自全球200多个知名时尚品牌
2017/04/21 全球购物
师范教师毕业鉴定
2014/01/13 职场文书
四年级学生评语大全
2014/04/21 职场文书
销售顾问工作计划书
2014/08/15 职场文书
入党自传范文2015
2015/06/26 职场文书
在前女友婚礼上,用Python破解了现场的WIFI还把名称改成了
2021/05/28 Python