0
$\begingroup$

Rosanswers logo

Hi,

I want to increase the universal robot joint speed. I do not set the speed anywhere in my code. The only place I have it set is on the UR touchpad (and it is set to the very max, 191 deg/second). However, when I measure the robot's speed, it is about 90deg/sec.

I am using a Universal Robot 3 e-series and ROS Melodic. I have used both the Universal Robots package from Universal Robots and ROS Industrial

Also, after launching my UR driver, I see the topic /speed_scaling_factor, which echos "data: 1.0" and data: 1.0

The /joint_group_vel_controller/command also seems like it could be related to joint speed, but nothing seems to be written to that topic.

Does anyone know how to increase the speed of a UR robot arm?


Originally posted by fruitbot on ROS Answers with karma: 19 on 2020-11-04

Post score: 0

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

Your description is a bit vague, and there could be various reasons for why robots don't move at their maximum capabilities.

None of the packages you mention are artificially limiting the joint velocity limits, so I'd be surprised if it'd make any difference which you use.

When you write:

I have used both the Universal Robots package from Universal Robots and ROS Industrial

I assume you're not talking about the drivers, are you?

One thing to check would be to make sure you have acceleration limits configured in your MoveIt configuration, if you generated it yourself. The setup assistant will not configure them for you, which will make MoveIt use 1.0 rad/s^2 as defaults.

Another thing to check would be MoveIt's settings: the default for the speed and acceleration scaling factors has recently been changed to something much lower than 1.0 -- and for good reason. If you don't change that, you'll get much slower motion.


Edit:

Yes, I am referring to the drivers.

you should not be using ur_driver with a modern CB3 or e-Series controller. I very much doubt that you have.

Neither ur_modern_driver: it's been marked as deprecated for about a year now. I doubt you could have missed that.

As far as the acceleration limits, I don't see an option to set those in the Moveit! Setup Assistant, but the file my_moveit_config/config/joint_limits.yaml has the variable has_acceleration_limits set to false (so I would assume it is not the issue)

No, that's actually a problem.

See here where DEFAULT_ACCEL_MAX will be used if there are no acceleration limits. And DEFAULT_ACCEL_MAX = 1.0 (here).

Additionally, config/chomp_planning.yaml has an acceleration variable, smoothness_cost_acceleration, which is set to 1.0. I tried setting it equal to 0.01 and 100 and observed no difference in speed.

That's all unrelated, unless you're actually using CHOMP as your planner. Which I don't believe you are.


Originally posted by gvdhoorn with karma: 86574 on 2020-11-05

This answer was ACCEPTED on the original site

Post score: 0


Original comments

Comment by fruitbot on 2020-11-05:
Yes, I am referring to the drivers.

As far as the acceleration limits, I don't see an option to set those in the Moveit! Setup Assistant, but the file my_moveit_config/config/joint_limits.yaml has the variable has_acceleration_limits set to false (so I would assume it is not the issue)

Here is an example of the joint configuration in joint_limits.yaml:

joint_limits: 
  elbow_joint:
    has_velocity_limits: true
    max_velocity: 3.14
    has_acceleration_limits: false
    max_acceleration: 0

Additionally, config/chomp_planning.yaml has an acceleration variable, smoothness_cost_acceleration, which is set to 1.0. I tried setting it equal to 0.01 and 100 and observed no difference in speed.

Thank you for your help. Please let me know if any of the above doesn't check out or if you have any other suggestions.

Comment by fruitbot on 2020-11-05:
Ah that was the problem!

I set has_acceleration_limits to true and increased max_acceleration to 5 and now see that the arm speed has increased significantly.

Thank you for your help!

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.