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 相关文章推荐
github配置使用指南
Nov 18 Python
Python对list列表结构中的值进行去重的方法总结
May 07 Python
python散点图实例之随机漫步
Aug 27 Python
python3中os.path模块下常用的用法总结【推荐】
Sep 16 Python
解决python super()调用多重继承函数的问题
Jun 26 Python
python3.6 tkinter实现屏保小程序
Jul 30 Python
python3 反射的四种基本方法解析
Aug 26 Python
Python环境Pillow( PIL )图像处理工具使用解析
Sep 12 Python
python 函数的缺省参数使用注意事项分析
Sep 17 Python
python如何通过pyqt5实现进度条
Jan 20 Python
Python网页解析器使用实例详解
May 30 Python
python中二分查找法的实现方法
Dec 06 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实现redis数据库指定库号迁移的方法
2015/01/14 PHP
网页的标准,IMG不支持onload标签怎么办
2006/06/29 Javascript
javascript firefox兼容ie的dom方法脚本
2008/05/18 Javascript
jquery下动态显示jqGrid以及jqGrid的属性设置容易出现问题的解决方法
2010/10/22 Javascript
jQuery 选择器、DOM操作、事件、动画
2010/11/25 Javascript
js split 的用法和定义 js split分割字符串成数组的实例代码
2012/05/13 Javascript
js switch case default 的用法示例介绍
2013/10/23 Javascript
推荐8款jQuery轻量级树形Tree插件
2014/11/12 Javascript
jQuery如何解决IE输入框不能输入的问题
2016/10/08 Javascript
extjs简介_动力节点Java学院整理
2017/07/17 Javascript
angular 服务随记小结
2019/05/06 Javascript
echarts实现获取datazoom的起始值(包括x轴和y轴)
2020/07/20 Javascript
JavaScript大数相加相乘的实现方法实例
2020/10/18 Javascript
vue3为什么要用proxy替代defineProperty
2020/10/19 Javascript
python使用装饰器和线程限制函数执行时间的方法
2015/04/18 Python
Python 实现简单的电话本功能
2015/08/09 Python
Python的Twisted框架中使用Deferred对象来管理回调函数
2016/05/25 Python
Django+zTree构建组织架构树的方法
2019/08/21 Python
解决Python二维数组赋值问题
2019/11/28 Python
python关闭占用端口方式
2019/12/17 Python
PyCharm下载和安装详细步骤
2019/12/17 Python
pytorch实现onehot编码转为普通label标签
2020/01/02 Python
Python使用docx模块实现刷题功能代码
2020/02/13 Python
如何在mac下配置python虚拟环境
2020/07/06 Python
django前端页面下拉选择框默认值设置方式
2020/08/09 Python
Hunkemöller西班牙:欧洲最大的内衣连锁店
2018/08/15 全球购物
考核工作实施方案
2014/03/30 职场文书
小学生我的梦想演讲稿
2014/08/21 职场文书
信仰心得体会
2014/09/05 职场文书
党员个人批评与自我批评
2014/10/14 职场文书
2014年仓库管理员工作总结
2014/11/18 职场文书
鸟的天堂导游词
2015/01/31 职场文书
机修车间主任岗位职责
2015/04/08 职场文书
社区文明倡议书
2015/04/28 职场文书
高中诗歌鉴赏教学反思
2016/02/16 职场文书
学生安全责任协议书
2016/03/22 职场文书