当前位置:脚本大全 > > 正文

python自动计算机器人(python实现nao机器人手臂动作控制)

时间:2021-10-13 00:46:53类别:脚本大全

python自动计算机器人

python实现nao机器人手臂动作控制

本文实例为大家分享了python实现nao机器人手臂动作的具体代码,供大家参考,具体内容如下

这些天依然在看nao公司文档的东西,把读过的代码顺手敲了出来。代码依然很简单,但是为什么我要写博客呢?这其中有很大的原因在于,代码是死的,可是读着读着就感觉代码活了,而且,每次读都会有不同的感受。咱就直接看正题吧。

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • #-*-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)
  • 接下来是另一个:

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • #-*-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)
  • 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。      

    原文链接:https://blog.csdn.net/u011181878/article/details/21392201 

    标签:
    上一篇下一篇

    猜您喜欢

    热门推荐