Skip to content

Update Rate #2

@futureneer

Description

@futureneer

It seems that any commands to the robot (via send_program) can only be sent at 10Hz.

I have spoken at length with the support team at Universal Robot, and they tell me that commands can be sent to the secondary interface at 30002 at near 125Hz. I am not sure what rate the robot broadcasts its information over 30002. I will ask them tomorrow morning.

I looked fairly deep into the code, and it looks like you are using a blocking socket.recv call. I tried setting the timeout of the socket to .01 seconds, but this causes several problems with other functions timing out. Would it make sense to have a shorter timeout, and have handling for when the socket doesn't receive anything? That would then allow commands to be sent to the robot faster than 10Hz, because the socket wouldn't be blocking and thus restricting the command rate.

Conversely, would it be easier to put the command code (`send_program') on a different client that the receive code, so that you don't have to mess around with that code?

This is related to Ticket #1, because (also from UR support) the best way to send smooth continuous commands to the robot is via speedl, because it is the only command that does not impose a velocity profile, which causes sequences of other commands (such as movel) to be jittery (as the robot is repeatidly command zero velocity in between commands).

I have written a PID velocity controller which can do this, but it requires fast (~100Hz) commands to the robot, as well as equivelently fast updates from the robot about its current pose. I will continue to discuss this with the UR support team.

I am happy to try and resolve this issue, I would just like to know what your design decisions were.

Cheers,
Kel

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions