Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5

How to give extra clearance in collision detection

We sometimes experience something like a robot does not collide with the device in a simulator, but it does hit peripheral equipment in an actual robot cell due to errors in setting positions.

In order to avoid it, we would like to request a feature such as giving some additional space to robots/grippers in using collision detection. 

If someone has the same issues and knows to solve them, please share your ideas.
Hi Hiroe,

You can attach transparent geometries to your robot links in RoboDK to add simulated "padding".
For instance, you could use scale a robot link by 10% and attach it to the robot as a transparent link.

Here are a few examples on how to attach to robot links: You can also calibrate frames in your RoboDK station using your robot (right click a frame->Define Reference Frame) to better represent the position of objects.

Finally, you can tune the collision check steps in Tools->Motion->Collision checking.
Please read the Forum Guidelines before posting!
Find useful information about RoboDK by visiting our Online Documentation.
Hi Sam,

I wanted to add that I could also benefit from this feature. The solution you described would work, but it is unwieldy. For my application, implementing what you described would take too long and greatly complicate my project.

In my case, I have more than a few individually-actuatable bodies attached to the robot flange and my application requires 2 mm clearance rather than 10% clearance, for example. To enforce 2mm clearance, I would have to reverse-engineer a reference frame that causes the portion of the body nearest the workpiece to expand by 2mm. This is no mean feat for a 3D object.

Alternatively, I could create clearance box bodies in Solidworks then import those and attach the clearance boxes to bodies as-needed for collision checking. However, this adds significant complication to any collision-checking code or adds significant manual work prior to running collision checking. For what I am doing, automation of processes is imperative as I have to iterate on my tool paths so I can't just overcome the manual overhead once and be done with it.

Hopefully with the excellent Python support for STL files (numpy-stl), a version of this "min clearance" feature will make it into a future release of RoboDK. (Even if it's slow and only supported as an add-in written in Python.)
The manual approach would be to copy/paste your object in RoboDK and use the scale function (Object->Options->More Options->Apply Scale) to increase its size by X% (which you can calculate with the measuring tools if you want 2mm).

If you need directional scaling, Tools->Run Script->ScaleXYZ is also available.
Both options above can be done with the API.

You can set the parent of these scaled object as the original object so that you don't rely on an additional plugin.
Would that work better for your application?
Please read the Forum Guidelines before posting!
Find useful information about RoboDK by visiting our Online Documentation.
Hi Sam, thanks for the reply.

Unfortunately, scaling would not work very well. The objects I want to check collisions against are complicated geometries and it is not straightforward to scale them to achieve a universal fixed offset (even using scale factors unique to each dimension). For example, the hole of a doughnut gets larger when scaled, which would yield a non-conservative clearance result.

I think the best workaround so far is to make clearance box bodies in Solidworks and import those into RoboDK. That is still not a trivial task though, because a complex geometry requires a great number of offset surfaces to create a 2mm clearance box. I may end up putting in the effort to implement this workaround, but a clearance function would be a much cleaner solution and give me more confidence in my results.
The other reason this would be useful is to allow the clearance to be varied.

For example, in some cases, I could accept 1.5mm of clearance, but in others, I would be nervous about 4mm of clearance.

Additionally, it would be useful to know what the minimum resulting clearance is after visiting a particular set of targets.

Users browsing this thread:
1 Guest(s)