python实现nao机器人手臂动作控制


Posted in Python onApril 29, 2019

本文实例为大家分享了python实现nao机器人手臂动作的具体代码,供大家参考,具体内容如下

这些天依然在看nao公司文档的东西,把读过的代码顺手敲了出来。代码依然很简单,但是为什么我要写博客呢?这其中有很大的原因在于,代码是死的,可是读着读着就感觉代码活了,而且,每次读都会有不同的感受。咱就直接看正题吧。

#-*-encoding:UTF-8-*-
import sys
import motion
import almath
from naoqi import ALProxy
 
def StiffnessOn(proxy):
    #we use the body name to signify the collection of all jionts
    pName="Body"
    pStiffnessLists=1.0
    pTimeLists=1.0
    proxy.stiffnessInterpolation(pName,pStiffnessLists,pTimeLists)
 
def main(robotIP):
    ''' example showing a path of two position
    '''
    try:
      motionProxy=ALProxy("ALMotion",robotIP,9559)
    except Exception ,e:
        print"could not create a proxy to almotion"
        print str(e)
 
    try:
      postureProxy=ALProxy("ALRobotPosture",robotIP,9559)
    except Exception ,e:
        print"could not create a proxy to alRobotPosture"
        print str(e)
    #set the nao stiffness on
    StiffnessOn(motionProxy)
 
    #set the nao to standinit
    postureProxy.goToPosture("StandInit",0.5)
 
    effector="LArm"
    space=motion.FRAME_ROBOT
    # AXIS_MASK_VEL=7
    axisMask=almath.AXIS_MASK_VEL
    isAbsolute=False
    #since we are in relative, the current position is zero
    currentPos=[0.0,0.0,0.0,0.0,0.0,0.0]
    #define the changes in relative to the current position 
    dx=0.03      #translation axis x
    dy=0.03      #translation axis y
    dz=0.00      #translation axis z
    dwx=0.00     #rotation axis x
    dwy=0.00     #rotation axis x
    dwz=0.00     #rotation axis x
 
    targetPos=[dx,dy,dz,dwx,dwy,dwz]
 
    #go to the target and back again
    path=[targetPos,currentPos]
    times=[2.0,4.0]#seconds
    motionProxy.positionInterpolation(effector,space,path,axisMask,times,isAbsolute)
 
if __name__=="__main()__":
    robotIP="127.0.0.1"
    if len(sys.argv)<=1:
      print "use default :127.0.0.1"
    else:
      robotIP=sys.argv[1]       
main(robotIP)

接下来是另一个:

#-*-encoding:UTF-8-*-
''' Cartesian control :arm trajectory example'''
 
import sys
import motion
import almath
from naoqi import ALProxy
def StiffnessOn(proxy):
    pName="Body"
    pStiffnessLists=1.0
    pTimeLists=1.0
    proxy.stiffnessInterpolation(pName,pStiffnessLists,pTimeLists)
 
 
def main(robotIP):
    '''showing a hand ellipoid
    '''
    try:
      motionProxy=ALProxy("ALProxy",robotIP,9559)
    except Exception,e:
      print"could not create a proxy "
      print"error was ",e
 
    try:
      postureProxy=ALProxy("ALRobotProxy",robotIP,9559)
    except Exception ,e:
      print"could not create a proxy"
      print "error was",e
 
    #send nao in stiffness on
    setStiffnessOn(motionProxy)
    #send nao to pose init
    postureProxy.goToPosture("StandInit",0.5)
 
    effector="LArm"
    space=motion.FRAME_ROBOT
    path=[
        [0.0,-0.05,+0.00,0.0,0.0,0.0],    #pose1
        [0.0,+0.00,+0.04,0.0,0.0,0.0],    #pose2
        [0.0,+0.04,+0.00,0.0,0.0,0.0],    #pose3
        [0.0,+0.00,-0.02,0.0,0.0,0.0],    #pose4
        [0.0,-0.05,+0.00,0.0,0.0,0.0],    #pose5
        [0.0,+0.00,+0.00,0.0,0.0,0.0]
        ]                #pose6
    axisMask=7
    times=[0.5,1.0,2.0,3.0,4.0,4.5]       #seconds 
    
    isAbsolute=False
    motionProxy.positionInterpolation(effector,space,path,axisMask,times,isAbsolute)
    
if __name__=="__main__":
    robotIP="127.0.0.1"
    if len(sys.argv)<=1:
        print "usage local ip "
    else:
        robotIP=sys.argv[1]
    main(robotIP)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。       

Python 相关文章推荐
使用Python下载Bing图片(代码)
Nov 07 Python
python中from module import * 的一个坑
Jul 20 Python
python操作CouchDB的方法
Oct 08 Python
浅谈MySQL中的触发器
May 05 Python
用scikit-learn和pandas学习线性回归的方法
Jun 21 Python
python的pstuil模块使用方法总结
Jul 26 Python
python 使用pdfminer3k 读取PDF文档的例子
Aug 27 Python
Python定时器线程池原理详解
Feb 26 Python
Python修改列表值问题解决方案
Mar 06 Python
Python调用shell命令常用方法(4种)
May 11 Python
python实现简单的tcp 文件下载
Sep 16 Python
10个python爬虫入门实例(小结)
Nov 01 Python
python机器人运动范围问题的解答
Apr 29 #Python
浅谈Python3中strip()、lstrip()、rstrip()用法详解
Apr 29 #Python
Python 实现微信防撤回功能
Apr 29 #Python
python程序控制NAO机器人行走
Apr 29 #Python
Django web框架使用url path name详解
Apr 29 #Python
Python对HTML转义字符进行反转义的实现方法
Apr 28 #Python
Django使用redis缓存服务器的实现代码示例
Apr 28 #Python
You might like
PHP模版引擎原理、定义与用法实例
2019/03/29 PHP
Document:getElementsByName()使用方法及示例
2013/10/28 Javascript
js定时调用方法成功后并停止调用示例
2014/04/08 Javascript
node.js中的fs.readdir方法使用说明
2014/12/17 Javascript
js闭包实现按秒计数
2015/04/23 Javascript
jquery form表单获取内容以及绑定数据
2016/02/24 Javascript
vue2.0开发实践总结之疑难篇
2016/12/07 Javascript
NodeJs安装npm包一直失败的解决方法
2017/04/28 NodeJs
12个非常有用的JavaScript技巧
2017/05/17 Javascript
从parcel.js打包出错到选择nvm的全部过程
2018/01/23 Javascript
详解js的作用域、预解析机制
2018/02/05 Javascript
js遍历添加栏目类添加css 再点击其它删除css【推荐】
2018/06/12 Javascript
Vue 后台管理类项目兼容IE9+的方法示例
2019/02/20 Javascript
微信小程序实现类似微信点击语音播放效果
2020/03/30 Javascript
Vue.js实现大转盘抽奖总结及实现思路
2019/10/09 Javascript
webpack常用构建优化策略小结
2019/11/21 Javascript
Node.js中出现未捕获异常的处理方法
2020/06/29 Javascript
Python __setattr__、 __getattr__、 __delattr__、__call__用法示例
2015/03/06 Python
利用Python实现Windows下的鼠标键盘模拟的实例代码
2017/07/13 Python
基于Django框架利用Ajax实现点赞功能实例代码
2018/08/19 Python
python使用suds调用webservice接口的方法
2019/01/03 Python
python 同时运行多个程序的实例
2019/01/07 Python
python读取指定字节长度的文本方法
2019/08/27 Python
python爬虫容易学吗
2020/06/02 Python
PyCharm 2020.2.2 x64 下载并安装的详细教程
2020/10/15 Python
CSS3模拟IOS滑动开关效果
2016/09/28 HTML / CSS
新大陆软件面试题
2016/11/24 面试题
毕业生自荐信的主要内容
2013/10/29 职场文书
简历的个人自我评价范文
2014/01/03 职场文书
个人查摆剖析材料
2014/02/04 职场文书
大四学生找工作的自荐信
2014/03/27 职场文书
婚纱摄影师求职信范文
2014/04/17 职场文书
团支书竞选演讲稿
2014/04/28 职场文书
关于军训的感想
2015/08/07 职场文书
2016年企业安全生产月活动总结
2016/04/06 职场文书
使用 Docker Compose 构建复杂的多容器App
2022/04/30 Servers