#### Discussion

Back to discussions page
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:

• Beta Tester Beetle Posts: 182 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.
• Founding Pro, Tactile Sensor Beta Testers Posts: 1,252 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.

• 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?
• Founding Pro, Tactile Sensor Beta Testers Posts: 1,252 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.
• 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?
• Founding Pro, Tactile Sensor Beta Testers Posts: 1,252 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
• 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?
• Founding Pro, Tactile Sensor Beta Testers Posts: 1,252 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.
• Posts: 11 Apprentice