1
$\begingroup$

I am implementing IBVS on a UR5 using ROS. The algorithm works very well in linear X, Y and Z and omega Y. When I try to add a fifth axis(omega X or Omega Z), the robot jerks heavily and goes into protective stop if the velocity is high, or it takes forever to converge if i reduce the velocity. How can I solve this problem?

The jacobian I'm using is generated from Peter Corke's Robotics Toolbox.

$\endgroup$
  • $\begingroup$ Welcome to Robotics Riddhiman Raut. Can you provide more detail on the algorithm you are implementing, and how it is implemented? As it stands, it is hard for members here to help you. Pictures, diagrams, code snipits, math, robot parameters, etc, are all helpful. $\endgroup$ – Ben Jun 15 at 13:27
  • $\begingroup$ Hello Ben! So the algorithm is the absolute basic visual servoing one, with a proportional error controller. github.com/RiddhimanRaut/Ur5_Visual_Servoing. This is the GitHub link to my codes. There has been a few minor changes made to that code since uploading, but the implementation is as follows. $\endgroup$ – Riddhiman Raut Jun 15 at 14:10
  • $\begingroup$ Object_detect.py returns centroids of 3 colours , vs_ur5 computes the error between desired and current positions of the centroids, gives me the camera velocity using interaction matrix. This camera velocity in turn gives me joint velocities using Jacobian. $\endgroup$ – Riddhiman Raut Jun 15 at 14:22
  • $\begingroup$ If there is anything else I need to provide, please do tell, I really need some help here. $\endgroup$ – Riddhiman Raut Jun 15 at 20:09
  • $\begingroup$ @RiddhimanRaut can you please edit the question and add some of the details from comments above and below. "Absolutely basic" means 3 or 4 Cartesian point features? For the image Jacobian do you have good intrinsics, a good depth estimate? Does the camera velocity screw look sensible before you convert it to joint rates? The gain matrix should have different values for the rotational and translational parts, since they have different units. Can you make the rotational gains lower, or else clip the rotational rates. $\endgroup$ – Peter Corke Jun 22 at 21:53
0
$\begingroup$

im facing the same problem as yours. And im sorry if put this in the answer section(because i cant comment yet). I have try so many equation of orientation trying to fit which one able to work with RTB Jacobian(note that im using MDH notation), but none of them work. But recently i find a clue that in order to control the rotational part, we need to understand theory about Two-Vector Representation of end-effector and Rodrigues Matrix (lie group). But until now i didnt really know the correct relationship between that theory and inverse jacobian. I hope we can solve this together.

$\endgroup$
  • $\begingroup$ Hello Albert! Thanks for replying! Can you share the links the data you have found on this? I have gone through the wiki pages but I am still not sure how it is useful. Feel free to contact me anytime, my email is rik.raut98@gmail.com. $\endgroup$ – Riddhiman Raut Jun 17 at 5:11
  • $\begingroup$ email sent..... $\endgroup$ – Albert H M Jun 17 at 6:44
  • $\begingroup$ wait, how you control omega y? i just realize u able to control one of orientation $\endgroup$ – Albert H M Jun 17 at 8:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.