0
$\begingroup$

Rosanswers logo

I am using the the python commands set_max_acceleration_scaling_factor(x) and set_max_velocity_scaling_factor(y) of the MoveGroupCommander class to control the speed behaviour of a FANUC robot, based on the industrial package.

This works finse in a simulation only environment in RViz accordingly to the joint limits defined in the file joint_limits.yaml. But if I connect ROS to the controller of the real robot, the robot is much more slowly. The robot does not seem to follow the max factors. Are there additional limits defined in the FANUC industrial package?

Thanks in advance!

nico


Originally posted by nicob on ROS Answers with karma: 37 on 2021-11-11

Post score: 0

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

If you're using fanuc_driver (you don't state which package you're using, but I assume it's that one), then it overrides the velocity commands. That's a limitation of that driver.

gavanderhoorn/fanuc_driver_exp tries to do better, and it will not override anything, but motion performance will still not be perfect.

There is a lot of existing Q&A and discussion on the issue tracker of both ros-industrial/fanuc and gavanderhoorn/fanuc_driver_exp which I don't want to repeat here. Summarising: except J519, there is no Fanuc motion interface which allows you to execute trajectories exactly as they are planned on the ROS side. That's both in time and in space. Off-line generation of TP programs based on ROS trajectories is possible (and has been done), but of course comes with its own disadvantages (limited length, programs need to be uploaded, delays before execution, etc).

An alternative could be a driver based on R912 (or Remote Motion Interface, RMI). That would essentially be a "drip-feed" of a TP program. I'm not aware of any publicly available implementation based on R912 though.

And note that again except with J519, you can never actually directly control velocity nor acceleration on a Fanuc. You only ever constrain maximum velocity, and can indirectly set the steepness of the acceleration curve.


Originally posted by gvdhoorn with karma: 86574 on 2021-11-11

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by gvdhoorn on 2021-11-11:
See #q371112 for a similar Q&A, and see this page for more Fanuc related ROS questions (some / many of which are on similar topics).

Comment by nicob on 2021-11-15:
Thanks for de detailed answer! This helps me a lot to understand the system better.

$\endgroup$

Your Answer

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