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编写android截屏脚本双击运行即可
Jul 21 Python
简介Python的collections模块中defaultdict类型的用法
Jul 07 Python
Python 搭建Web站点之Web服务器网关接口
Nov 06 Python
使用matplotlib画散点图的方法
May 25 Python
django 外键model的互相读取方法
Dec 15 Python
python3实现mysql导出excel的方法
Jul 31 Python
Python调用.NET库的方法步骤
Dec 27 Python
python时间日期操作方法实例小结
Feb 06 Python
解决pyqt5异常退出无提示信息的问题
Apr 08 Python
python 服务器运行代码报错ModuleNotFoundError的解决办法
Sep 16 Python
linux mint中搜狗输入法导致pycharm卡死的问题
Oct 28 Python
python 模拟登录B站的示例代码
Dec 15 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面向对象全攻略 (六)__set() __get() __isset() __unset()的用法
2009/09/30 PHP
怎样使用php与jquery设置和读取cookies
2013/08/08 PHP
php数组键值用法实例分析
2015/02/27 PHP
php关闭warning问题的解决方法
2016/05/17 PHP
JavaScript 对象模型 执行模型
2010/10/15 Javascript
自定义jQuery选项卡插件实例
2013/03/27 Javascript
js根据日期判断星座的示例代码
2014/01/23 Javascript
jQuery+PHP实现可编辑表格字段内容并实时保存
2015/10/09 Javascript
js确认框confirm()用法实例详解
2016/01/07 Javascript
基于JS实现导航条之调用网页助手小精灵的方法
2016/06/17 Javascript
jQuery实现每隔几条元素增加1条线的方法
2016/06/27 Javascript
AngularJS基础 ng-readonly 指令简单示例
2016/08/02 Javascript
Angular的模块化(代码分享)
2016/12/26 Javascript
基于vue-router 多级路由redirect 重定向的问题
2018/09/03 Javascript
vue-cli history模式实现tomcat部署报404的解决方式
2019/09/06 Javascript
JS事件循环机制event loop宏任务微任务原理解析
2020/08/04 Javascript
ant-design表单处理和常用方法及自定义验证操作
2020/10/27 Javascript
Zabbix实现微信报警功能
2016/10/09 Python
Python基于回溯法子集树模板解决野人与传教士问题示例
2017/09/11 Python
解决python3中解压zip文件是文件名乱码的问题
2018/03/22 Python
Sanic框架流式传输操作示例
2018/07/18 Python
Python UnboundLocalError和NameError错误根源案例解析
2018/10/31 Python
详解python tkinter教程-事件绑定
2019/03/28 Python
使用Python完成15位18位身份证的互转功能
2019/11/06 Python
css 省略号 css3让多余的字符串消失并附加省略号的实现代码
2013/02/07 HTML / CSS
CSS3常用的几种颜色渐变模式总结
2016/11/18 HTML / CSS
鞋子女王塔玛拉·梅隆同名奢侈品牌:Tamara Mellon
2017/11/22 全球购物
BabyBjörn婴儿背带法国官网:BabyBjorn法国
2018/06/16 全球购物
中间件的定义
2016/08/09 面试题
优秀毕业生求职推荐信范文
2013/11/21 职场文书
连锁酒店店长职责范本
2014/02/13 职场文书
大型演出策划方案
2014/05/28 职场文书
2016优秀护士先进个人事迹材料
2016/02/25 职场文书
七年级语文教学反思
2016/03/03 职场文书
用python删除文件夹中的重复图片(图片去重)
2021/05/12 Python
【DOTA2】总决赛血虐~ XTREME GAMING vs MAGMA - OGA DOTA PIT 2022 CN
2022/04/02 DOTA