Home Programming

Discussion

Left ArrowBack to discussions page
ritchiephamritchiepham Posts: 11 Apprentice
Hi,
I am trying to have a nozzle travel all the way around a window frame to apply silicone at a constant speed. I am currently using the FT 300 Sensor, MoveP, and linear searches to change directions once it senses a desired amount of force. For example, the nozzle will travel in the negative y direction until it senses 7 Newtons, then "stopl(1)", then the sensor is zeroed and a linear search in the positive x direction begins to move along the window edge. I am having trouble keeping the speed constant when it changes directions. The nozzle pauses for a bit at the corner before switching directions.

Thank you.
Tagged:

Comments

  • David_LevasseurDavid_Levasseur Beta Tester Beetle Posts: 181 Handy
    Hi @ritchiepham, I opened a support ticket to get you in touch with one of our integration coaches. Please reply to the email and provide a copy of your program along with a video of the issue and any other relevant information.
  • matthewd92matthewd92 Founding Pro, Tactile Sensor Beta Testers Posts: 1,079 Handy
    @ritchiepham the stopl() command you are using at the direction change causes the robot to stop motion and the. It resumes in the next direction. Based on your description it sounds as if the robot is doing exactly what you are asking of it. Go in this direction until you hit something then stop and go in this direction. 

    The movep will keep a constant tcp speed when used in a continuous path as intended. 

    If i misunderstood your question please clarify what I’m not understanding. 
  • ritchiephamritchiepham Posts: 11 Apprentice
    Thank you David & Matthew.
    I actually took out the stopl() and still experienced the same result. The idea is to have a single program that can be used for multiple sizes of windows. Using a plane feature, I created a x-y-z plane on the window. However, this is tricky since the mounts for the window must secure it tightly and allow for no movement. Do you have any suggestions on how to approach this?
  • matthewd92matthewd92 Founding Pro, Tactile Sensor Beta Testers Posts: 1,079 Handy
    Generally we would parameterize the window with a length and width and corner radius and then use that to programmatically Drive the movements. You would need to calculate where the corner points are and then use the radius in the movep command and write it using script commands. We would set one corner to a known datum so that it is always at 0,0 where we start.  
  • ritchiephamritchiepham Posts: 11 Apprentice
    @matthewd92
    I understand what you're saying. I am currently working on a code with your suggestion. I know that pose_trans uses the tool space coordinate system as reference and pose_add uses the base coordinate system as reference. Is there a way to use a plane created by adding a feature as a reference for a pose function? Simply changing the feature in the command tab did no good.

    Also, do you think it would be possible to make a "universal" code for various different window sizes?
  • matthewd92matthewd92 Founding Pro, Tactile Sensor Beta Testers Posts: 1,079 Handy
    edited January 2018
    You can use any feature you want in the pose to make the change, in pose_add its going to use the X, Y, Z relative to the base to make the requested change to the feature, in the pose_trans it will move the points relative to the tool x, y, z as defined in the feature.  So if you want to move 10 mm in x direction, it matters which x you want it to move the feature in (the base or the tool orientation in the feature).  We use planes and lines all the time, just need to understand when to use pose_add and when to use pose_trans.

    Yes, you would just need to have parameters for the size of the window and then write the code so that it uses those dimensions in the calculations of each of the waypoints.  You could then request the inputs from the user when they start the program
  • ritchiephamritchiepham Posts: 11 Apprentice
    Say I have created a plane feature. I have a linear search in the positive z axis of that plane feature. After a certain force is reached, I want to move 5mm in the negative z direction. How would I go about doing that?
  • matthewd92matthewd92 Founding Pro, Tactile Sensor Beta Testers Posts: 1,079 Handy
    Negative Z direction of the tool or the robot base coordinates?  One way is to use a relative waypoint, you would teach the starting position and then the ending position and then wherever you used that waypoint the same relkative motion would happen.

    The other way is to use a script function to calculate a waypoint using the assignment feature.  If you want to always go in the z-direction of the robot regardless of how the tool is positioned you would use the pose_add(), if you want to move relative to the tool z-axis then you would use pose_trans().

    so something like this

    myNewWaypoint = pose_trans(Tool, p[0,0,-0.005,0,0,0]) . //The Tool in this is not typed in, it is selected from the pose list in the formula builder screen, it actually returns a script function for getting the current TCP position.

    then use that variable as the waypoint in a move by selecting variable from the drop down list of point type.
  • ritchiephamritchiepham Posts: 11 Apprentice
    @matthewd92 You've been very helpful. I thank you for your replies.
  • ritchiephamritchiepham Posts: 11 Apprentice
    @matthewd92
    A question that is a bit off topic. For an instance that the digital input is switched from low to high during a program run and a safety stop (excessive external force is applied to the robot), will the digital input switch back to low automatically or remain high?
  • matthewd92matthewd92 Founding Pro, Tactile Sensor Beta Testers Posts: 1,079 Handy
    If the input is still being made it would hold high. If it’s a momentary pulse then it would go low. 
  • ritchiephamritchiepham Posts: 11 Apprentice
    Thank you. 
    I am trying to linear search on a plane that I created. However, I am unable to use anythig but the tool’s coordinate systen as the reference. I have changed the feature under my MoveL’s but nothing changed. I have been able to get a near perfect tool orientation to be parallel to my desired surface by changing the rotation around the axes. I feel there should be an easier way to do this?
Sign In or Register to comment.
Left ArrowBack to discussions page