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开发之str.format()用法实例分析
Feb 22 Python
Python程序退出方式小结
Dec 09 Python
Python回文字符串及回文数字判定功能示例
Mar 20 Python
使用Django和Python创建Json response的方法
Mar 26 Python
mac下pycharm设置python版本的图文教程
Jun 13 Python
python 3.6.4 安装配置方法图文教程
Sep 18 Python
Python + Requests + Unittest接口自动化测试实例分析
Dec 12 Python
tensorflow对图像进行拼接的例子
Feb 05 Python
python实现人机五子棋
Mar 25 Python
Python ini文件常用操作方法解析
Apr 26 Python
python实现ROA算子边缘检测算法
Apr 05 Python
Python并发编程实例教程之线程的玩法
Jun 20 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制作图型计数器的例子
2006/10/09 PHP
PHP4 与 MySQL 交互使用
2006/10/09 PHP
php自定义函数call_user_func和call_user_func_array详解
2011/07/14 PHP
PHP中创建和验证哈希的简单方法实探
2015/07/06 PHP
thinkPHP基于ajax实现的菜单与分页示例
2016/07/12 PHP
PHP页面输出搜索后跳转下一页的处理方法
2016/09/30 PHP
PHP面向对象中new self()与 new static()的区别浅析
2017/08/17 PHP
jquery动画4.升级版遮罩效果的图片走廊--带自动运行效果
2012/08/24 Javascript
node.js中的path.resolve方法使用说明
2014/12/08 Javascript
JavaScript中的Math.LN2属性用法详解
2015/06/12 Javascript
12个非常实用的JavaScript小技巧【推荐】
2016/05/18 Javascript
AngularJS API之copy深拷贝详解及实例
2016/09/14 Javascript
获取JavaScript异步函数的返回值
2016/12/21 Javascript
解决vue单页使用keep-alive页面返回不刷新的问题
2018/03/13 Javascript
React key值的作用和使用详解
2018/08/23 Javascript
vue、react等单页面项目部署到服务器的方法及vue和react的区别
2018/09/29 Javascript
详解vue-cli+element-ui树形表格(多级表格折腾小计)
2019/04/17 Javascript
JS实现页面跳转与刷新的方法汇总
2019/08/30 Javascript
javascript-hashchange事件和历史状态管理实例分析
2020/04/18 Javascript
[01:03:33]Alliance vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
[01:33]完美世界DOTA2联赛PWL S3 集锦第二期
2020/12/21 DOTA
Python里隐藏的“禅”
2014/06/16 Python
Python fileinput模块使用实例
2015/05/28 Python
使用C#配合ArcGIS Engine进行地理信息系统开发
2016/02/19 Python
Python中顺序表的实现简单代码分享
2018/01/09 Python
一篇文章彻底搞懂Python中可迭代(Iterable)、迭代器(Iterator)与生成器(Generator)的概念
2019/05/13 Python
Pandas-Cookbook 时间戳处理方式
2019/12/07 Python
使用css3实现的windows8开机加载动画
2014/12/09 HTML / CSS
CSS3 2D模拟实现摩天轮旋转效果
2016/11/16 HTML / CSS
环境科学专业大学生自荐信格式
2013/09/21 职场文书
九年级科学教学反思
2014/01/29 职场文书
专题民主生活会对照检查材料思想汇报
2014/09/29 职场文书
幼儿园大班教师个人工作总结
2015/02/05 职场文书
质检员岗位职责范本
2015/04/07 职场文书
活动经费申请报告
2015/05/15 职场文书
初中政治教师教学反思
2016/02/23 职场文书