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利用paramiko连接远程服务器执行命令的方法
Oct 16 Python
python中os和sys模块的区别与常用方法总结
Nov 14 Python
python用户评论标签匹配的解决方法
May 31 Python
python3 深浅copy对比详解
Aug 12 Python
在pytorch中查看可训练参数的例子
Aug 18 Python
python打包成so文件过程解析
Sep 28 Python
解决python中的幂函数、指数函数问题
Nov 25 Python
django rest framework serializer返回时间自动格式化方法
Mar 31 Python
Python新手学习raise用法
Jun 03 Python
浅谈pytorch中torch.max和F.softmax函数的维度解释
Jun 28 Python
聊一聊python常用的编程模块
May 14 Python
Python之matplotlib绘制饼图
Apr 13 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输出日历表代码实例
2015/03/27 PHP
详解php魔术方法(Magic methods)的使用方法
2016/02/14 PHP
php中字符串和整数比较的操作方法
2019/06/06 PHP
Dojo 学习要点
2010/09/03 Javascript
Prototype源码浅析 Enumerable部分(二)
2012/01/18 Javascript
script不刷新页面的联动前后代码
2013/09/18 Javascript
JavaScript包装对象使用详解
2015/07/09 Javascript
Angular2 (RC4) 路由与导航详解
2016/09/21 Javascript
ES2015 Symbol 一种绝不重复的值
2016/12/25 Javascript
Vue数据驱动模拟实现5
2017/01/13 Javascript
详解webpack分包及异步加载套路
2017/06/29 Javascript
JS实现点击循环切换显示内容的方法
2017/10/19 Javascript
编写React组件项目实践分析
2018/03/04 Javascript
如何优雅的在一台vps(云主机)上面部署vue+mongodb+express项目
2019/01/20 Javascript
vue实现行列转换的一种方法
2019/08/06 Javascript
vue登录以及权限验证相关的实现
2019/10/25 Javascript
在vue中封装方法以及多处引用该方法详解
2020/08/14 Javascript
python获取豆瓣电影简介代码分享
2014/01/16 Python
详解Python中列表和元祖的使用方法
2015/04/25 Python
wxpython中自定义事件的实现与使用方法分析
2016/07/21 Python
Python实现字典的遍历与排序功能示例
2017/12/23 Python
Python中支持向量机SVM的使用方法详解
2017/12/26 Python
Python3.4学习笔记之类型判断,异常处理,终止程序操作小结
2019/03/01 Python
Python判断字符串是否xx开始或结尾的示例
2019/08/08 Python
python3实现绘制二维点图
2019/12/04 Python
pytorch进行上采样的种类实例
2020/02/18 Python
python之openpyxl模块的安装和基本用法(excel管理)
2021/02/03 Python
简单总结CSS3中视窗单位Viewport的常见用法
2016/02/04 HTML / CSS
如何使用amaze ui的分页样式封装一个通用的JS分页控件
2020/08/21 HTML / CSS
c++工程师面试问题
2013/08/04 面试题
语文教学随笔感言
2014/02/18 职场文书
党支部创先争优公开承诺书
2015/04/30 职场文书
党支部半年考察意见
2015/06/01 职场文书
铁人观后感
2015/06/16 职场文书
2019年恭贺升学祝福语集锦
2019/08/15 职场文书
在HTML5 localStorage中存储对象的示例代码
2021/04/21 Javascript