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 pickle 和 shelve模块的用法
Sep 16 Python
通过mod_python配置运行在Apache上的Django框架
Jul 22 Python
python递归查询菜单并转换成json实例
Mar 27 Python
Queue 实现生产者消费者模型(实例讲解)
Nov 13 Python
Python实现微信小程序支付功能
Jul 25 Python
浅析PyTorch中nn.Linear的使用
Aug 18 Python
Python文本处理简单易懂方法解析
Dec 19 Python
将python依赖包打包成window下可执行文件bat方式
Dec 26 Python
python调用私有属性的方法总结
Jul 24 Python
浅析Python 多行匹配模式
Jul 24 Python
基于Python爬取素材网站音频文件
Oct 21 Python
selenium+python实现基本自动化测试的示例代码
Jan 27 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 smarty截取中文字符乱码问题?gb2312/utf-8
2011/11/07 PHP
PHP json_encode中文乱码问题的解决办法
2013/09/09 PHP
php实现cc攻击防御和防止快速刷新页面示例
2014/02/13 PHP
async和DOM Script文件加载比较
2014/07/20 PHP
php中mail函数发送邮件失败的解决方法
2014/12/24 PHP
php使用Cookie控制访问授权的方法
2015/01/21 PHP
浅谈php数组array_change_key_case() 函数和array_chunk()函数
2016/10/22 PHP
Nginx下ThinkPHP5的配置方法详解
2017/08/01 PHP
PHP使用微信开发模式实现搜索已发送图文及匹配关键字回复的方法
2017/09/13 PHP
JQuery扩展插件Validate 5添加自定义验证方法
2011/09/05 Javascript
Jquery Uploadify多文件上传带进度条且传递自己的参数
2013/08/28 Javascript
登陆成功后自动计算秒数执行跳转
2014/01/23 Javascript
jQuery判断元素是否显示 是否隐藏的简单实现代码
2016/05/19 Javascript
纯js的右下角弹窗实例
2017/03/12 Javascript
Extjs 中的 Treepanel 实现菜单级联选中效果及实例代码
2017/08/22 Javascript
全面分析JavaScript 继承
2019/05/30 Javascript
vue中input的v-model清空操作
2019/09/06 Javascript
微信小程序自定义菜单切换栏tabbar组件代码实例
2019/12/30 Javascript
基于JavaScript获取url参数2种方法
2020/04/17 Javascript
Python中__name__的使用实例
2015/04/14 Python
Python上传package到Pypi(代码简单)
2016/02/06 Python
Python进阶之递归函数的用法及其示例
2018/01/31 Python
wx.CheckBox创建复选框控件并响应鼠标点击事件
2018/04/25 Python
python socket网络编程之粘包问题详解
2018/04/28 Python
Django1.9 加载通过ImageField上传的图片方法
2018/05/25 Python
python 定义给定初值或长度的list方法
2018/06/23 Python
python 两种方法修改文件的创建时间、修改时间、访问时间
2020/09/26 Python
Html5 滚动穿透的方法
2019/05/13 HTML / CSS
全球销量第一生发产品:Viviscal
2017/12/21 全球购物
AOP的定义以及作用
2013/09/08 面试题
介绍一下MD5加密算法
2016/11/12 面试题
总经理职责范文
2013/11/08 职场文书
人力资源专业推荐信
2013/11/29 职场文书
大二自我鉴定
2014/01/31 职场文书
老师对学生的评语
2014/04/18 职场文书
Django+Celery实现定时任务的示例
2021/06/23 Python