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实现的各种排序算法代码
Mar 04 Python
Python getopt模块处理命令行选项实例
May 13 Python
PyQt 线程类 QThread使用详解
Jul 16 Python
详解Python的hasattr() getattr() setattr() 函数使用方法
Jul 09 Python
python爬取酷狗音乐排行榜
Feb 20 Python
Python Django 页面上展示固定的页码数实现代码
Aug 21 Python
python通过实例讲解反射机制
Oct 17 Python
YUV转为jpg图像的实现
Dec 09 Python
Django 实现对已存在的model进行更改
Mar 28 Python
python+appium+yaml移动端自动化测试框架实现详解
Nov 24 Python
Django-simple-captcha验证码包使用方法详解
Nov 28 Python
Python实现区域填充的示例代码
Feb 03 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 XML备份Mysql数据库
2009/05/27 PHP
Zend Framework入门教程之Zend_View组件用法示例
2016/12/09 PHP
PHP自定义函数实现assign()数组分配到模板及extract()变量分配到模板功能示例
2018/05/23 PHP
ThinkPHP框架实现的微信支付接口开发完整示例
2019/04/10 PHP
jMessageBox 基于jQuery的窗口插件
2009/12/09 Javascript
javascript 防止刷新,后退,关闭
2010/08/07 Javascript
基于jquery实现的表格分页实现代码
2011/06/21 Javascript
JavaScript采用递归算法计算阶乘实例
2015/08/04 Javascript
Bootstrap table右键功能实现方法
2017/02/20 Javascript
angularJS利用ng-repeat遍历二维数组的实例代码
2017/06/03 Javascript
Angular2 组件交互实例详解
2017/08/24 Javascript
Three.js利用顶点绘制立方体的方法详解
2017/09/27 Javascript
JS前端基于canvas给图片添加水印
2020/11/11 Javascript
[01:45]IMBATV TI4前线报道-选手到达
2014/07/07 DOTA
[04:10]2016国际邀请赛中国区预选赛第二日TOP10精彩集锦
2016/06/28 DOTA
[42:25]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第三场
2018/04/06 DOTA
Python列表生成器的循环技巧分享
2015/03/06 Python
python轻松查到删除自己的微信好友
2016/01/10 Python
Python 闭包的使用方法
2017/09/07 Python
Python实现的堆排序算法示例
2018/04/29 Python
Python 隐藏输入密码时屏幕回显的实例
2019/02/19 Python
Python API 自动化实战详解(纯代码)
2019/06/11 Python
Python3 执行系统命令并获取实时回显功能
2019/07/09 Python
Python imageio读取视频并进行编解码详解
2019/12/10 Python
Win10里python3创建虚拟环境的步骤
2020/01/31 Python
Python3批量创建Crowd用户并分配组
2020/05/20 Python
django表单中的按钮获取数据的实例分析
2020/07/31 Python
Django路由层URLconf作用及原理解析
2020/09/24 Python
DRF使用simple JWT身份验证的实现
2021/01/14 Python
进程的查看和调度分别使用什么命令
2013/12/14 面试题
《蚕姑娘》教学反思
2014/04/15 职场文书
模范教师事迹材料
2014/12/16 职场文书
2015年党支部公开承诺书
2015/01/22 职场文书
2015年护士节活动总结
2015/02/10 职场文书
社区文明创建工作总结2015
2015/04/21 职场文书
化工生产实习心得体会
2016/01/22 职场文书