Back to discussions page
/ Most recent by tkelch
Jason_g Posts: 10 Apprentice
edited January 2017 in Programming
I am working on a project that will require a tool change with Universal Robot. We are hoping to accomplish this without adding additional guarding due to the pinch point as we're moving into swap tools. What would be best practice for monitoring the force as were moving from waypoint 1(in front of tool) to waypoint 2(at tool)? If an obstacle is detected (finger or hand) we either kill program with popup, or momentarily move back to waypoint 1, and then try again.
matthewd92 Founding Pro, Tactile Sensor Beta Testers Posts: 1,267 HandyThat is simple to do. You don't do it inside of a thread.
When you get to that point in your program or subroutine you will have your destination under an if statement. That if statement will be monitoring the force at all times. I usually use a flag below the waypoint so that I know that I made it or not and then can take action based on that result.Also, make sure that the check box for "Check Expression Continuously" is checked, this basically turns the if statement into a while loop so effectively while force is below some number keep doing this, as soon as its not exit this situation. So if on the way to the second point my force exceeds the threshold I immediately exit the if statement and so the flag never gets set to True.
Here is a quick example of how I might approach something like this
Does this help?
JeanPhilippe_Jobin Beta Tester VIsion 1.1 Program, Wrist Camera URCap 1.3.0 Posts: 63 Handy@Sebastien
There is no short-term plan to modify our FT sensors in such a way that it could be considered as safety device.
About your need, I would simply use the reduced force/speed mode as suggested previously and make sure that the force/pressure respects the safety standards (i.e. ISO/TS-15066). This should not be too complicated since I don't think that a lot of force is needed to "couple" the tool changer parts' together. So you reduce force/speed zone could be quite broad to avoid pinching with body parts.
But for those who would have an application where a significant force would need to be apply, here is what you could do:
Jean-Philippe JobinEng., M.Sc. / ing., M.Sc.Chief Technical Officer / V.P. R&D
- Move the robot to a safe distance (no pinching possible with any body part at no time) from the surface it needs to apply a high force/pressure
- Change the robot to reduce force/speed mode
- Move the robot towards the surface until the distance between this surface and the robot is smaller then the smallest body part that can fit in (usually the fingers, so ~ 5 mm)
- Change to normal force mode
- Move the robot towards the surface, make contact and apply requested force/pressure
I would try to use the Robotiq FT300 sensor. You could simply have a thread in the program constantly monitoring Fx, Fy or Fz depending on what you need to look at. This would be quite straight forward and it would be more accurate then using UR robot. However, the only limitation is that the force feedback from the sensor is not 'safety rated'. So I don't think that solves it. @JeanPhilippe_Jobin what do you think? Any plans on having the FT sensor be considered as a safety device?
The other method I am thinking of doing it would be to have an input going to the safe input of the robot when it is going to perform tool change. You could then configure this input as the reduced mode input. Then in the reduced mode settings you could have force limitations according to what you need during the tool change operation. Be careful to when selecting the device that will toggle the safety input for reduced mode. Its safety performance needs to match the risk level associated with the tool change operation.
Hope that helps!
Another thing that you could do is place the tool changer on the other side of a safety plane. Then when the robot crosses that plane you can automatically have it go into reduced force/speed mode. We do this when we need to interact with humans or want to enter the human workspace without having to add a light curtain or other means of entering reduced mode.
I agree with @Sebastien you need to make sure that whatever you wind up doing meets safety requirements in your area and that a risk assessment has been performed. His idea for using an output on the robot to trigger a safety input could work as well, especially if the tool changer cannot be placed outside of the normal working area of the robot, i.e, not behind its own safety plane.
Thank you. @matthewd92 my next thought was using a safety plane when @Sebastienmentioned using an input for reduced mode.
I did attempt utilizing "force()" command with an if statement. If force is greater then said value we move back to waypoint 1, or halt. The two problems I kept running in to was it seems that were monitoring the force at all times. Would it be best to do the move towards tool within its own subroutine? I only want to perform this monitoring and action during the move from waypoint 1 to waypoint 2. When I tried doing this within a thread, I get a popup saying "program is already being controlled by another thread".
Funky way to look at safety, but it may work.