For example, in the function .set_moving_speed and .get_present speed the units for these are not defined. I was able to set the max speed for my MX64 by sending my_motor.set_moving_speed(300), any value above that would give a constant output on the .get_motor_speed command (I can show the graph and code if required).
So herein lies my question, what are the units of these functions and what would be the conversion to RPM ? Or do they accept the same values as MX64 data sheet (e-manual), but I have tried giving input till 1023 and detected that speed doesn’t change after 300.
For a similar function, such as .set_goal_position , exact angle limits and values are provided by documentation as "The motors are handled in degrees where 0 is considered the central point of the motor turn. For the MX motors, the end points are -180° and 180°. For the AX and RX motors, these end points are -150° to 150°. "
Similar explanation of units if set_moving_speed and get_present_speed commands would be greatly appreciated as it would help people who have just started working with dynamixel motors.(MX64, in my case).
start = time.time()
for i in range(1500):
set_vel.append(i)
dxl_io.set_moving_speed({ids[0]:i})
read_angles.append(dxl_io.get_present_position(ids))
read_vel.append(dxl_io.get_present_speed(ids))
tim.append(time.time())
print i
Pypot tends to use the ISU. In your case the speed is in degree per second. The easiest way to find out is to directly look at the conversion module source code.
Due to a lack of time, everything is not fully documented in pypot. Yet, as this an open source project, feel free to contribute by improving the doc!
Alternatively you can set up convert to False in the DxlIO methods and use the dynamixel units.