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之总结参数的传递
Oct 10 Python
Python 基础教程之str和repr的详解
Aug 20 Python
Python实现针对含中文字符串的截取功能示例
Sep 22 Python
Python解决N阶台阶走法问题的方法分析
Dec 28 Python
python 类对象和实例对象动态添加方法(分享)
Dec 31 Python
python如何把嵌套列表转变成普通列表
Mar 20 Python
Tensorflow使用tfrecord输入数据格式
Jun 19 Python
Django 重写用户模型的实现
Jul 29 Python
图文详解Django使用Pycharm连接MySQL数据库
Aug 09 Python
python 如何执行控制台命令与操作剪切板
May 20 Python
Python帮你解决手机qq微信内存占用太多问题
Feb 15 Python
OpenCV项目实践之停车场车位实时检测
Apr 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编码规范-php coding standard
2007/03/16 PHP
PHP MSSQL 存储过程的方法
2008/12/24 PHP
PHP数据类型之整数类型、浮点数的介绍
2013/04/28 PHP
简单的cookie计数器实现源码
2013/06/07 PHP
php模拟登陆的实现方法分析
2015/01/09 PHP
windows下安装php的memcache模块的方法
2015/04/07 PHP
php验证码的制作思路和实现方法
2015/11/12 PHP
php删除数组指定元素实现代码
2017/05/03 PHP
PHP操作Redis常用技巧总结
2018/04/24 PHP
完美兼容IE,chrome,ff的设为首页、加入收藏及保存到桌面js代码
2014/12/17 Javascript
JS学习之表格的排序简单实例
2016/05/16 Javascript
将angular.js项目整合到.net mvc中的方法详解
2017/06/29 Javascript
Vue 页面切换效果之 BubbleTransition(推荐)
2018/04/08 Javascript
使用angularjs.foreach时return的问题解决
2018/09/30 Javascript
[37:22]DOTA2上海特级锦标赛D组资格赛#2 Liquid VS VP第一局
2016/02/28 DOTA
Python编程实现正则删除命令功能
2017/08/30 Python
python 爬虫 批量获取代理ip的实例代码
2018/05/22 Python
python利用微信公众号实现报警功能
2018/06/10 Python
Python中Numpy包的安装与使用方法简明教程
2018/07/03 Python
Python的高阶函数用法实例分析
2019/04/11 Python
python读写配置文件操作示例
2019/07/03 Python
简单的Python调度器Schedule详解
2019/08/30 Python
python3.6连接mysql数据库及增删改查操作详解
2020/02/10 Python
python matplotlib 绘图 和 dpi对应关系详解
2020/03/14 Python
python实现登录与注册系统
2020/11/30 Python
Python爬虫之Selenium鼠标事件的实现
2020/12/04 Python
video下autoplay属性无效的解决方法(添加muted属性)
2020/05/19 HTML / CSS
印尼最大的婴儿用品购物网站:Orami
2017/09/28 全球购物
联想中国官方商城:Lenovo China
2017/10/18 全球购物
Moda Italia荷兰:意大利男士服装
2019/08/31 全球购物
澳大利亚最受欢迎的超级商场每日优惠:Catch
2020/11/17 全球购物
如何获取某个日期是当月的最后一天
2013/12/05 面试题
大学生个人先进事迹材料范文
2014/05/03 职场文书
环境保护标语
2014/06/20 职场文书
帮一个朋友写的求职信
2014/08/09 职场文书
乡镇党建工作总结2015
2015/05/19 职场文书