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 流程控制实例代码
Sep 25 Python
利用python获取当前日期前后N天或N月日期的方法示例
Jul 30 Python
浅谈python中的正则表达式(re模块)
Oct 17 Python
Python系统监控模块psutil功能与经典用法分析
May 24 Python
Python装饰器知识点补充
May 28 Python
python_opencv用线段画封闭矩形的实例
Dec 05 Python
对python dataframe逻辑取值的方法详解
Jan 30 Python
python在OpenCV里实现投影变换效果
Aug 30 Python
kafka-python 获取topic lag值方式
Dec 23 Python
python代码实现将列表中重复元素之间的内容全部滤除
May 22 Python
python文件编写好后如何实践
Jul 07 Python
对pytorch中x = x.view(x.size(0), -1) 的理解说明
Mar 03 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小技巧搜集,每个PHPer都来露一手
2007/01/02 PHP
php中常量DIRECTORY_SEPARATOR用法深入分析
2014/11/14 PHP
php实现统计网站在线人数的方法
2015/05/12 PHP
PHP上传图片到数据库并显示的实例代码
2019/12/20 PHP
JavaScript 私有成员分析
2009/01/13 Javascript
javascript 面向对象编程基础 多态
2009/08/21 Javascript
分享XmlHttpRequest调用Webservice的一点心得
2012/07/20 Javascript
捕获浏览器关闭、刷新事件不同情况下的处理方法
2013/06/02 Javascript
Node.js 制作实时多人游戏框架
2015/01/08 Javascript
js实现对ajax请求面向对象的封装
2016/01/08 Javascript
JS原型、原型链深入理解
2016/02/27 Javascript
jQuery+css实现非常漂亮的水平导航菜单效果
2016/07/27 Javascript
BootStrap框架个人总结(bootstrap框架、导航条、下拉菜单、轮播广告carousel、栅格系统布局、标签页tabs、模态框、菜单定位)
2016/12/01 Javascript
jQuery实现复制到粘贴板功能
2017/02/11 Javascript
详解js几个绕不开的事件兼容写法
2017/08/30 Javascript
js实现中文实时时钟
2020/01/15 Javascript
详解Vue Cli浏览器兼容性实践
2020/06/08 Javascript
[50:44]DOTA2-DPC中国联赛 正赛 SAG vs Dragon BO3 第二场 2月22日
2021/03/11 DOTA
Python的SQLalchemy模块连接与操作MySQL的基础示例
2016/07/11 Python
基于python实现在excel中读取与生成随机数写入excel中
2018/01/04 Python
python实现扫描ip地址的小程序
2019/04/16 Python
Pycharm新手教程(只需要看这篇就够了)
2019/06/18 Python
Django 实现图片上传和显示过程详解
2019/07/18 Python
python生成随机红包的实例写法
2019/09/02 Python
基于Python实现扑克牌面试题
2019/12/11 Python
python 实现查询Neo4j多节点的多层关系
2019/12/23 Python
Django Session和Cookie分别实现记住用户登录状态操作
2020/07/02 Python
Python LMDB库的使用示例
2021/02/14 Python
HTML5新增form控件和表单属性实例代码详解
2019/05/15 HTML / CSS
shell程序中如何注释
2012/01/28 面试题
2014的自我评价
2014/01/13 职场文书
仓库主管岗位职责
2014/03/02 职场文书
社区活动总结报告
2014/05/05 职场文书
化学专业大学生职业生涯规划范文
2014/09/13 职场文书
捐书活动倡议书
2015/04/27 职场文书
golang在GRPC中设置client的超时时间
2021/04/27 Golang