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之禅》中对于Python编程过程中的一些建议
Apr 03 Python
Python多线程threading和multiprocessing模块实例解析
Jan 29 Python
python requests爬取高德地图数据的实例
Nov 10 Python
python 限制函数执行时间,自己实现timeout的实例
Jan 12 Python
Python3.6实现带有简单界面的有道翻译小程序
Apr 16 Python
浅析python中while循环和for循环
Nov 19 Python
Python利用逻辑回归模型解决MNIST手写数字识别问题详解
Jan 14 Python
Python底层封装实现方法详解
Jan 22 Python
Python 剪绳子的多种思路实现(动态规划和贪心)
Feb 24 Python
python基于opencv实现人脸识别
Jan 04 Python
Python .py生成.pyd文件并打包.exe 的注意事项说明
Mar 04 Python
利用python调用摄像头的实例分析
Jun 07 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+js实现图片的上传、裁剪、预览、提交示例
2013/08/27 PHP
PHP include任意文件或URL介绍
2014/04/29 PHP
Codeigniter整合Tank Auth权限类库详解
2014/06/12 PHP
php判断linux下程序问题实例
2015/07/09 PHP
PHP实现随机发放扑克牌
2020/04/21 PHP
jquery $(document).ready() 与window.onload的区别
2009/12/28 Javascript
精选的10款用于构建良好易用性网站的jQuery插件
2011/01/23 Javascript
JavaScript+html5 canvas绘制的圆弧荡秋千效果完整实例
2016/01/26 Javascript
javascript冒泡排序小结
2016/04/10 Javascript
Actionscript与javascript交互实例程序(修改)
2016/09/22 Javascript
原生js实现键盘控制div移动且解决停顿问题
2016/12/05 Javascript
jQuery操作json常用方法示例
2017/01/04 Javascript
Three.js基础部分学习
2017/01/08 Javascript
AngularJS封装$http.post()实例详解
2017/05/06 Javascript
Angularjs上传图片实例详解
2017/08/06 Javascript
微信小程序从注册账号到上架(图文详解)
2019/07/17 Javascript
[02:09]EHOME夺得首届辉夜杯冠军—现场颁奖仪式
2015/12/28 DOTA
一些Python中的二维数组的操作方法
2015/05/02 Python
学习python 之编写简单乘法运算题
2016/02/27 Python
Python批量发送post请求的实现代码
2018/05/05 Python
TensorFlow数据输入的方法示例
2018/06/19 Python
实例详解python函数的对象、函数嵌套、名称空间和作用域
2019/05/31 Python
通过实例了解Python str()和repr()的区别
2020/01/17 Python
使用pyplot.matshow()函数添加绘图标题
2020/06/16 Python
pyqt5实现井字棋的示例代码
2020/12/07 Python
做一个能自适应高度的textarea的示例代码
2019/09/06 HTML / CSS
大学生职业生涯规划书模版
2013/12/30 职场文书
简历上的自我评价
2014/02/03 职场文书
战友聚会主持词
2014/04/02 职场文书
班委竞选演讲稿
2014/04/28 职场文书
高考标语大全
2014/06/05 职场文书
职工年度考核评语
2014/12/31 职场文书
怎样写离婚协议书
2015/01/26 职场文书
车间主任岗位职责范本
2015/04/08 职场文书
二十年同学聚会致辞
2015/07/28 职场文书
C3 线性化算法与 MRO之Python中的多继承
2021/10/05 Python