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装饰器使用方法实例
Nov 21 Python
python网络编程学习笔记(10):webpy框架
Jun 09 Python
Python入门篇之数字
Oct 20 Python
Python实现的数据结构与算法之队列详解
Apr 22 Python
简单谈谈python中的Queue与多进程
Aug 25 Python
Python3中简单的文件操作及两个简单小实例分享
Jun 18 Python
Python数据集切分实例
Dec 08 Python
Python实现将多个空格换为一个空格.md的方法
Dec 20 Python
python 进程 进程池 进程间通信实现解析
Aug 23 Python
Django media static外部访问Django中的图片设置教程
Apr 07 Python
Python2.x与3​​.x版本有哪些区别
Jul 09 Python
基于Python实现nc批量转tif格式
Aug 14 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
制作美丽的拉花
2021/03/03 冲泡冲煮
Zend Studio for Eclipse的java.lang.NullPointerException错误的解决方法
2008/12/06 PHP
PHP自带ZIP压缩、解压缩类ZipArchiv使用指南
2015/03/03 PHP
php 数组字符串搜索array_search技巧
2016/07/05 PHP
PHP实现的策略模式示例
2019/03/20 PHP
mapper--图片热点区域高亮组件官方站点
2007/12/22 Javascript
Jquery 表单取值赋值的一些基本操作
2009/10/11 Javascript
JQuery中clone方法复制节点
2015/05/18 Javascript
解决WordPress使用CDN后博文无法评论的错误
2015/12/15 Javascript
js判断上传文件后缀名是否合法
2016/01/28 Javascript
剖析Node.js异步编程中的回调与代码设计模式
2016/02/16 Javascript
基于jQuery实现的无刷新表格分页实例
2016/02/17 Javascript
jQuery简单倒计时效果完整示例
2016/09/20 Javascript
AngularJS页面带参跳转及参数解析操作示例
2017/06/28 Javascript
JS计算输出100元钱买100只鸡问题的解决方法
2018/01/04 Javascript
vue利用axios来完成数据的交互
2018/03/23 Javascript
vue+echarts实现动态绘制图表及异步加载数据的方法
2018/10/17 Javascript
微信小程序之onLaunch与onload异步问题详解
2019/03/28 Javascript
[13:40]TI3青蛙君全程回顾 DOTA2我们为梦想再战
2013/09/13 DOTA
举例详解Python中yield生成器的用法
2015/08/05 Python
Python中使用bidict模块双向字典结构的奇技淫巧
2016/07/12 Python
python实现批量修改服务器密码的方法
2019/08/13 Python
numpy数组做图片拼接的实现(concatenate、vstack、hstack)
2019/11/08 Python
python右对齐的实例方法
2020/07/05 Python
Python如何读写CSV文件
2020/08/13 Python
狗狗玩具、零食和咀嚼物的月度送货服务:Super Chewer
2018/08/22 全球购物
大学生简历中个人的自我评价
2013/10/06 职场文书
房屋出租协议书
2014/04/10 职场文书
环保志愿者活动方案
2014/08/14 职场文书
幸福中国演讲稿
2014/09/12 职场文书
会议主持词开场白
2015/05/28 职场文书
Go语言操作数据库及其常规操作的示例代码
2021/04/21 Golang
golang 实现两个结构体复制字段
2021/04/28 Golang
Win11 S Mode版本泄露 正式上线后叫做Windows 11 SE
2021/11/21 数码科技
Spring Boot配合PageHelper优化大表查询数据分页
2022/04/20 Java/Android
Linux下搭建SFTP服务器的命令详解
2022/06/25 Servers