gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 26 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章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  。

最后此篇关于python实现nao机器人手臂动作控制的文章就讲到这里了,如果你想了解更多关于python实现nao机器人手臂动作控制的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com