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脚本来获取mp3文件tag信息的教程
May 04 Python
Django压缩静态文件的实现方法详析
Aug 26 Python
Python访问MongoDB,并且转换成Dataframe的方法
Oct 15 Python
python hbase读取数据发送kafka的方法
Dec 27 Python
Django框架模板语言实例小结【变量,标签,过滤器,继承,html转义】
May 23 Python
Python Matplotlib 基于networkx画关系网络图
Jul 10 Python
Django框架模板用法入门教程
Nov 04 Python
python使用opencv在Windows下调用摄像头实现解析
Nov 26 Python
如何使用python代码操作git代码
Feb 29 Python
jupyter notebook读取/导出文件/图片实例
Apr 16 Python
使用Keras构造简单的CNN网络实例
Jun 29 Python
Jupyter Notebook 远程访问配置详解
Jan 11 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自定义加密与解密程序实例
2014/12/31 PHP
PHP人民币金额转大写实例代码
2015/10/02 PHP
thinkPHP连接sqlite3数据库的实现方法(附Thinkphp代码生成器下载)
2016/05/27 PHP
PHP创建自己的Composer包方法
2018/04/09 PHP
JQUERY设置IFRAME的SRC值的代码
2010/11/30 Javascript
javascript 弹出窗口中是否显示地址栏的实现代码
2011/04/14 Javascript
jquery实现奇偶行赋值不同css值
2012/02/17 Javascript
原生js事件的添加和删除的封装
2014/07/01 Javascript
javascript针对cookie的基本操作实例详解
2015/11/30 Javascript
JavaScript中的this到底是什么(一)
2015/12/09 Javascript
Node.js利用debug模块打印出调试日志的方法
2017/04/25 Javascript
js下载文件并修改文件名
2017/05/08 Javascript
JS获取鼠标坐标并且根据鼠标位置不同弹出不同内容
2017/06/12 Javascript
详解微信小程序scroll-view横向滚动的实践踩坑及隐藏其滚动条的实现
2019/03/14 Javascript
JavaScript中0、空字符串、'0'是true还是false的知识点分享
2019/09/16 Javascript
vue实现分页加载效果
2019/12/24 Javascript
[06:48]DOTA2-DPC中国联赛2月26日Recap集锦
2021/03/11 DOTA
python实现计算倒数的方法
2015/07/11 Python
python snownlp情感分析简易demo(分享)
2017/06/04 Python
pandas对指定列进行填充的方法
2018/04/11 Python
Python神奇的内置函数locals的实例讲解
2019/02/22 Python
django 自定义过滤器的实现
2019/02/26 Python
python如何给字典的键对应的值为字典项的字典赋值
2019/07/05 Python
Django中提示消息messages的设置方式
2019/11/15 Python
CSS3 对过渡(transition)进行调速以及延时
2020/10/21 HTML / CSS
结婚喜宴家长答谢词
2014/01/15 职场文书
股份转让协议书
2014/04/12 职场文书
献爱心倡议书
2014/04/14 职场文书
公司总经理任命书
2014/06/05 职场文书
乡镇消防安全责任书
2014/07/23 职场文书
2014乡镇党委副书记对照检查材料思想汇报
2014/10/09 职场文书
2014年药房工作总结
2014/11/22 职场文书
2015共产党员公开承诺书
2015/01/22 职场文书
员工自我评价范文
2015/03/11 职场文书
换届选举主持词
2015/07/03 职场文书
在Oracle表中进行关键词搜索的过程
2022/06/10 Oracle