Velocity_controllers or effort_controllers for UR5 in simulation

I know that UR5 is a joint-velocity-control robot that accepts velocity as an input. Still, I’m not sure what is the proper hardware interface (i.e. the low-level controller) I need to simulate in ROS. The ros_control package has abundance of controllers’ types. The most relevant ones for UR5 are velocity_controllers and effort_controllers.

  • effort_controllers/JointVelocityController
  • velocity_controllers/JointVelocityController

The above controllers accept velocity as an input, but the actual command applied on the actuator is different. For example, in effort_controllers, velocity input is mapped into torque, whereas in the second one, velocity input is forwarded. Of course, in a simulation, we have more freedom and can apply all controllers; however, if we want to be as close as possible to reality, which type should I use for the UR5? I’ve tried to read the documentation, but I only see controlling the platform via GUI. Any suggestions?

please we need feedback.