Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Position controller not working with UR10 and CB2 #132

Open
ghost opened this issue Aug 30, 2017 · 5 comments
Open

Position controller not working with UR10 and CB2 #132

ghost opened this issue Aug 30, 2017 · 5 comments

Comments

@ghost
Copy link

ghost commented Aug 30, 2017

I have access to two UR10 robots, one with CB2 and the other with a CB3, I have been trying to use this driver to control them through ros control in kinetic and I'm experiencing some problems.

With the CB2 I'm able to work using velocity control, it's not very stable but I guess that will be somewhat related to the PID parameters, as I'm using the default ones...
When I try to work with position control I'm facing a bigger issue, the robot moves to the position, but stumbling, I have used the modified ur_hardware_interface.cpp that @miguelprada used in #55 to get a graph of movement:

wrist_1_joint

Does anybody know what could be producing this behaviour?
While working on the CB3, the position control woks smoothly and with no noticeable stumbling, could this be triggered by the CB version?

Thanks in advance

@ghost
Copy link
Author

ghost commented Aug 31, 2017

I have been running some tests and it seems that the CB2 isn't able to work with 0.008 (default) as servoj time parameter, if I increase this value to 0.016 (i.e.), the position control runs as expected. Is this the normal behaviour? If it is, I think it might be a good idea to put a warning somewhere... If there is no one already that I haven't seen...

@happygaoxiao
Copy link

Hello @bsantamaria ,Could you tell me how to using servoj to control the UR robot ? Now I just can use the ur_driver/joint_speed to do trajectory planning. I can't find some examples or tutorials about doing position based ros_control. Thanks a lot.

@ghost
Copy link
Author

ghost commented Oct 30, 2017

Hello @happygaoxiao , to control the robot with position control using ur_modern_driver you just have to launch ur10_ros_control.launch (or the appropiate version for your robot), and then send trajectories to the specified controller, using moveit! for example.
By default it launches the "vel_based_pos_traj_controller", but you could change this to "pos_pased_pos_traj_controller" by modifying the "ur10_ros_control.launch" file.

@willcbaker
Copy link

more data points: I'm testing on a UR5 CB3 and UR10 CB3 using default ros_control params

The UR10 works nicely in position control, had wild velocities on elbow joint and unsafe
The UR5 Is very jerky in pos control at servoj time 0.008 but seems improved (not perfect) for 0.016
velocity control is OK, again not perfect.

@paolovigkiller
Copy link

Can I Have an example of your test main?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants