Home Programming


Left ArrowBack to discussions page
Jason_gJason_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.  

Best Answers

  • matthewd92matthewd92 Founding Pro, Tactile Sensor Beta Testers Posts: 1,267 Handy
    Answer ✓
    That 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?


  • SebastienSebastien Posts: 219 Handy
    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!

  • matthewd92matthewd92 Founding Pro, Tactile Sensor Beta Testers Posts: 1,267 Handy
    @Jason_g there are a coupe of things that I would try first that are built into the robot.  For starters the robot has built-in force monitoring that we use a ton of to limit actions on the robot based on the force that it is seeing.  Works very similar to the FT300 or FT150 from Robotiq but without the fine resolution, its only good for +/- 10N.  But I would try it as its free and easy to sprinkle around the program where you need it.

    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.
  • Jason_gJason_g Posts: 10 Apprentice
    edited January 2017

    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".

  • tkelchtkelch Tactile Sensor Beta Testers Posts: 3 Recruit
    You could also consider designing the location and enclosure around a tool changer - forcing the robot to collide/pinch a forearm or torso (higher pain points) before it can get to your finger. This could be done by having the tool changers on a different base than the robot, so in order to reach the tool changer, someone would need to walk in-between the robot and the tool changer - having the robot hit the person prior to being able to get to the tool changer.

    Funky way to look at safety, but it may work.
Sign In or Register to comment.
Left ArrowBack to discussions page