Test below done with 4 xl-320
USB2AX
Windows 10
Pypot 2.11
In [1]:
import pypot.dynamixel
import time
In [2]:
print(pypot.dynamixel.get_available_ports())
In [3]:
dxl_io = pypot.dynamixel.Dxl320IO('COM5', use_sync_read=False)
In [4]:
motors = (dxl_io.scan(range(60)))
print motors
print len(motors)
In [5]:
%timeit dxl_io.get_present_position(motors)
In [16]:
t0 = time.time()
i=0
latency = 0.01
while time.time() - t0 < 1 :
dxl_io.get_present_position(motors)
i+=1
time.sleep(latency)
print "nombre d'instructions en 1 seconde : %d -> %d Hz" % (i,i)
t = ((1.0-(i*latency))/i)*1000
print 'le temps pour éxécuter une instruction est de : %f ms' % t
In [17]:
dxl_io.close()
In [25]:
dxl_io = pypot.dynamixel.Dxl320IO('COM5', use_sync_read=True)
In [26]:
%timeit dxl_io.get_present_position(motors)
In [38]:
t0 = time.time()
i=0
latency = 0.01
while time.time() - t0 < 1 :
dxl_io.get_present_position(motors)
i+=1
time.sleep(latency)
print "nombre d'instructions en 1 seconde : %d -> %d Hz " % (i,i)
t = (1.0-(i*latency))
p = t/i*1000
print "Temps réellement utilisé pour l'instruction get_present_position : %.2f s" %(t)
print 'le temps pour éxécuter une instruction est donc de : %f ms' % p
In [39]:
t0 = time.time()
i=0
latency = 0.005
while time.time() - t0 < 1 :
dxl_io.get_present_position(motors)
i+=1
time.sleep(latency)
print "nombre d'instructions en 1 seconde : %d -> %d Hz " % (i,i)
t = (1.0-(i*latency))
p = t/i*1000
print "Temps réellement utilisé pour l'instruction get_present_position : %.2f s" %(t)
print 'le temps pour éxécuter une instruction est donc de : %f ms' % p
In [40]:
t0 = time.time()
i=0
latency = 0.001
while time.time() - t0 < 1 :
dxl_io.get_present_position(motors)
i+=1
time.sleep(latency)
print "nombre d'instructions en 1 seconde : %d -> %d Hz " % (i,i)
t = (1.0-(i*latency))
p = t/i*1000
print "Temps réellement utilisé pour l'instruction get_present_position : %.2f s" %(t)
print 'le temps pour éxécuter une instruction est donc de : %f ms' % p
In [41]:
t0 = time.time()
i=0
latency = 0.0005
while time.time() - t0 < 1 :
dxl_io.get_present_position(motors)
i+=1
time.sleep(latency)
print "nombre d'instructions en 1 seconde : %d -> %d Hz " % (i,i)
t = (1.0-(i*latency))
p = t/i*1000
print "Temps réellement utilisé pour l'instruction get_present_position : %.2f s" %(t)
print 'le temps pour éxécuter une instruction est donc de : %f ms' % p
In [42]:
dxl_io.close()
In [3]:
from poppy.creatures import Poppy4dofArmMini
In [22]:
mini_dof=Poppy4dofArmMini()
In [23]:
mini_dof.stop_sync()
In [24]:
mini_dof.config
Out[24]:
In [25]:
mini_dof._controllers
Out[25]:
In [26]:
dxl_io=mini_dof._controllers[0].io
In [27]:
dxl_io.get_return_delay_time((1,2,3,4))
Out[27]:
In [28]:
dxl_io.set_return_delay_time({1:250,2:250,3:250,4:250})
In [29]:
mini_dof.start_sync()
In [30]:
mini_dof.stop_sync()
In [31]:
dxl_io._sync_read = True
In [32]:
mini_dof.start_sync()
closing after 30 secondes.
In [33]:
mini_dof.stop_sync()
In [34]:
dxl_io.set_return_delay_time({1:0,2:0,3:0,4:0})
In [35]:
mini_dof.start_sync()
In [36]:
mini_dof.stop_sync()
In [37]:
mini_dof.close()
In [ ]: