Page 1 of 1

Backlash

Posted: 02 Nov 2013, 17:27
by RobotAttack
Hello,

I am trying to model a robot arm which (unfortunately) has significant backlash at each joint.

What would be the best way of introducing this into my model?

My end goal is to work out a custom control loop that gives the arm smooth motion.

Thanks!

Re: Backlash

Posted: 03 Nov 2013, 13:42
by coppelia
Hello,

What you can do is, from the initial situation:

jointWithoutBackslash

to

jointWithoutBackslash --> dummyMass --> jointWithBackslash

Where dummyMass is non-static and non-respondable, and jointWithBackslash is a joint with motor disabled and joint limits set to the desired backslash.

Cheers

Re: Backlash

Posted: 11 Jul 2018, 13:03
by ssj
hi
I am also trying to induce some backlash in my robot wheel joints but from the above reply I am unable to realize how to implement this. my robot in vrep has two wheels with joints. how should I modify my robot so that there is some backlash?
Is there any way by which I can add or remove backlash whenever i want? I mean what if my robot wheels does not have any backlash and is moving smooth. At some instance I want to induce error in its motion in terms of backlash to check response or may be i can develop a function that keeps monitoring and can detect by some variation in data if there is any backlash..
Thank you!

Re: Backlash

Posted: 13 Jul 2018, 17:31
by coppelia
Hello,

you can do this in the exact same way. For each wheel, create following:

Code: Select all

VehicleFrame --> joint1 --> auxMass --> joint2 --> wheel
with:
  • auxMass should be non-respondable
  • joint1 and joint2 should be parallel
  • joint1 is the motor, and that joint should be in force/torque mode, with the motor enabled (but controller disabled). This will be used to regulate the rotational speed
  • joint2 is the backlash motor.
For the backlash motor, you have two options:
  • a fixed backlash. In that case, set you joint into force/torque mode, and disable its motor. Make sure its position is not cyclic. Then adjust the position range.
  • an adjustable backlash. This is a bit more complicated since you can't directly adjust the position range once simulation has started (unless you dynamically reset the joint and wheel, adjust the range of the joint and reposition the joint and the wheel). I would put that joint into force/torque mode, motor enabled, and controller enabled too. Then write a joint control callback function that allows you to gradually adjust its controller.
Cheers