Comments for Zacobria Universal-Robots community - a help forum with hints tips and how to use universal robot CB2

Zacobria Robot community forum Universal-Robots

08/04/2018 11:48 AM
Comment on Variables by zacopressadmin
Hi Sepehr Thanks for the question. I think such complex calculation should be on an external device e.g. a PC because the robot resourses is better used doing robot stuff like calculationg the movements etc. It is possible to exchange variables between the Robot and The external PC is various ways - for example by establishing a Client-Server TCP exchange - some more informations at this link. http://www.zacobria.com/universal-robots-knowledge-base-tech-support-forum-hints-tips/knowledge-base/script-client-server/ It is also possible to exchange data via the MODBUS registers - more inf at this link. http://www.zacobria.com/universal-robots-knowledge-base-tech-support-forum-hints-tips/knowledge-base/modbus-internal-registers-read-and-write/ Author: <a href="https://plus.google.com/u/0/116832821661215606670?rel=author" rel="nofollow">By Zacobria Lars Skovsgaard</a> Accredited Universal Robots support Centre and Forum. <br /> <br /> <a href="http://www.zacobria.com/universal-robots-knowledge-base-tech-support-forum-hints-tips/" rel="nofollow">Also check out the CB3 forum</a> <div class="fb-like" data-href="http://www.zacobria.com" data-send="false" data-layout="button_count" data-width="450" data-show-faces="false" data-font="arial" data-action="recommend"></div> <div class="fb-share-button" data-href="https://zacobria.com" data-layout="button_count"></div> <br /> <script type="IN/Share" data-counter="right" data-onsuccess="LinkedInShare"></script> <div class="g-follow" data-annotation="bubble" data-height="20" data-href="https://plus.google.com/116832821661215606670" data-rel="author"></div> <div class="g-plusone" data-size="medium" data-annotation="bubble" data-width="300"></div> <div class="g-plus" data-action="share" data-annotation="bubble"></div> <a href="https://twitter.com/share" class="twitter-share-button" data-url="http://www.zacobria.com" data-via="zacobria" rel="nofollow">Tweet</a> <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script> <a href="https://twitter.com/zacobria" class="twitter-follow-button" data-show-count="true" rel="nofollow">Follow @zacobria</a> <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>

08/03/2018 08:48 PM
Comment on Variables by Sepehr Gharaaty
Hi, Thanks for the useful information, I have a question. Consider the same program, If I want to use the variables in this program and perform some complex calculation, how can I access these variables in a remote pc? Or how can I perform complex calculation within the program? By complex calculation I mean calculating transformation matrix and multiplying matrix, etc.

08/02/2018 03:31 PM
Comment on MoveL (Linear movements). by zacopressadmin
Mark Thanks for the question. It might be counter intutive to use speedJ for linear moves because the nature of the move is very different and more simple. For linear moves the robot makes more calculations and typical more joints need to turn to make such linear move. And I have not seen an example of using SpeedJ for linear moves. In any motion it is important to handle acceleration and deccleration between the cruising speed because this will also take time - also when there is a turn. To make smooth moves it is important to handle the timing for the motion by controlling the speed. Author: <a href="https://plus.google.com/u/0/116832821661215606670?rel=author" rel="nofollow">By Zacobria Lars Skovsgaard</a> Accredited Universal Robots support Centre and Forum. <br /> <br /> <a href="http://www.zacobria.com/universal-robots-knowledge-base-tech-support-forum-hints-tips/" rel="nofollow">Also check out the CB3 forum</a> <div class="fb-like" data-href="http://www.zacobria.com" data-send="false" data-layout="button_count" data-width="450" data-show-faces="false" data-font="arial" data-action="recommend"></div> <div class="fb-share-button" data-href="https://zacobria.com" data-layout="button_count"></div> <br /> <script type="IN/Share" data-counter="right" data-onsuccess="LinkedInShare"></script> <div class="g-follow" data-annotation="bubble" data-height="20" data-href="https://plus.google.com/116832821661215606670" data-rel="author"></div> <div class="g-plusone" data-size="medium" data-annotation="bubble" data-width="300"></div> <div class="g-plus" data-action="share" data-annotation="bubble"></div> <a href="https://twitter.com/share" class="twitter-share-button" data-url="http://www.zacobria.com" data-via="zacobria" rel="nofollow">Tweet</a> <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script> <a href="https://twitter.com/zacobria" class="twitter-follow-button" data-show-count="true" rel="nofollow">Follow @zacobria</a> <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>

08/02/2018 03:21 PM
Comment on Preface Universal-Robots CB2 Forum: by zacopressadmin
Hello Ibrahim Thanks for the question. 1. It is possible to continuously read the position from the MODBUS registeres. Soem more informations at this link http://www.zacobria.com/universal-robots-knowledge-base-tech-support-forum-hints-tips/knowledge-base/modbus-registers-read-position/ It is also possible to get the continuously position by listining to the Matlab data. Soem more information at this link. http://www.zacobria.com/universal-robots-knowledge-base-tech-support-forum-hints-tips/knowledge-base/client-interfaces-cartesian-matlab-data/ 2. There is a command called "get_inverse_kin", but I have not tried to use that for such calculations. Author: <a href="https://plus.google.com/u/0/116832821661215606670?rel=author" rel="nofollow">By Zacobria Lars Skovsgaard</a> Accredited Universal Robots support Centre and Forum. <br /> <br /> <a href="http://www.zacobria.com/universal-robots-knowledge-base-tech-support-forum-hints-tips/" rel="nofollow">Also check out the CB3 forum</a> <div class="fb-like" data-href="http://www.zacobria.com" data-send="false" data-layout="button_count" data-width="450" data-show-faces="false" data-font="arial" data-action="recommend"></div> <div class="fb-share-button" data-href="https://zacobria.com" data-layout="button_count"></div> <br /> <script type="IN/Share" data-counter="right" data-onsuccess="LinkedInShare"></script> <div class="g-follow" data-annotation="bubble" data-height="20" data-href="https://plus.google.com/116832821661215606670" data-rel="author"></div> <div class="g-plusone" data-size="medium" data-annotation="bubble" data-width="300"></div> <div class="g-plus" data-action="share" data-annotation="bubble"></div> <a href="https://twitter.com/share" class="twitter-share-button" data-url="http://www.zacobria.com" data-via="zacobria" rel="nofollow">Tweet</a> <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script> <a href="https://twitter.com/zacobria" class="twitter-follow-button" data-show-count="true" rel="nofollow">Follow @zacobria</a> <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>

08/02/2018 09:23 AM
Comment on MoveL (Linear movements). by Mark
Is there a way to get the same linear-esque motion using a speedJ command? speedj doesn't have the same jerking motion as does the moveL command and so ideally I would like to implement this into my robot control program, but I have no way of knowing the appropriate joint speeds that correspond to a linear movement in the x,y, and z-direction.

07/26/2018 08:57 PM
Comment on Preface Universal-Robots CB2 Forum: by Ibrahim
Hello, I am new to using UR and i have to use it for one of my projects. But i want to know if it is possible to get the TCP position as feedback each timestep while the robot is moving? So if i give it MoveL/MoveJ to move a long distance, can i have the position feedback in real time or only when it reaches the final position? Also is there a way to calculate the path with timesteps of the motion before the robot moves? So it calculates something like timeseries data: time pos 0.0 x,y,z 0.1 x1,y1,z1 0.2 x2,y2,z2 Is that possible? Thanks in advance.

07/13/2018 08:48 AM
Comment on IF Then Else conditions. by zacopressadmin
Hello Mark Maybe consider to have a variable in the thread to be used as a flag. Then when the variable (Flag) is set in the thread - then use the variable (Flag) in the main program to take action accordingly. Author: <a href="https://plus.google.com/u/0/116832821661215606670?rel=author" rel="nofollow">By Zacobria Lars Skovsgaard</a> Accredited Universal Robots support Centre and Forum. <br /> <br /> <a href="http://www.zacobria.com/universal-robots-knowledge-base-tech-support-forum-hints-tips/" rel="nofollow">Also check out the CB3 forum</a> <div class="fb-like" data-href="http://www.zacobria.com" data-send="false" data-layout="button_count" data-width="450" data-show-faces="false" data-font="arial" data-action="recommend"></div> <div class="fb-share-button" data-href="https://zacobria.com" data-layout="button_count"></div> <br /> <script type="IN/Share" data-counter="right" data-onsuccess="LinkedInShare"></script> <div class="g-follow" data-annotation="bubble" data-height="20" data-href="https://plus.google.com/116832821661215606670" data-rel="author"></div> <div class="g-plusone" data-size="medium" data-annotation="bubble" data-width="300"></div> <div class="g-plus" data-action="share" data-annotation="bubble"></div> <a href="https://twitter.com/share" class="twitter-share-button" data-url="http://www.zacobria.com" data-via="zacobria" rel="nofollow">Tweet</a> <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script> <a href="https://twitter.com/zacobria" class="twitter-follow-button" data-show-count="true" rel="nofollow">Follow @zacobria</a> <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>

07/13/2018 08:43 AM
Comment on IF Then Else conditions. by Mark
Thanks Lars! Just a follow-up question how could I go about telling the UR10 to close a thread. For example, if I have some motion controls running in the background waiting for the user to give some input and in parallel, I'm waiting to see if the free drive button is pressed how can I tell the robot to stop sending speedl commands if the user hit the free drive button. currently, I have two threads running continuously checking for free drive input and another checking for some analog input that controls the arm. regards, Mark

07/12/2018 07:45 PM
Comment on IF Then Else conditions. by zacopressadmin
Hello Mark Thanks for the question. It will not work to have commands that can move the robot in different threads together with the main program - because it is ambigius - the robot can only be at one position at any given time. And since Threads runs in parallel the robot might be asked to be a different positions at the exact time if such thing was allowed- which the robot cannot. Movement commands include - Waypoints - SpeedJ - SpeedL - StopJ - StopL etc. And such commands is best to keep in the main program and only in the main program. This article you have logged into show the Polyscope syntax for the "check continuously if statement” http://www.zacobria.com/universal-robots-zacobria-forum-hints-tips-how-to/if-then-else-conditions/ If you wish to see how that looks like in Script - then the Polyscope program xx.urp can be saved - which also creates a xx.txt and xx.script file. In the xx.script file the script format can be studied. Author: <a href="https://plus.google.com/u/0/116832821661215606670?rel=author" rel="nofollow">By Zacobria Lars Skovsgaard</a> Accredited Universal Robots support Centre and Forum. <br /> <br /> <a href="http://www.zacobria.com/universal-robots-knowledge-base-tech-support-forum-hints-tips/" rel="nofollow">Also check out the CB3 forum</a> <div class="fb-like" data-href="http://www.zacobria.com" data-send="false" data-layout="button_count" data-width="450" data-show-faces="false" data-font="arial" data-action="recommend"></div> <div class="fb-share-button" data-href="https://zacobria.com" data-layout="button_count"></div> <br /> <script type="IN/Share" data-counter="right" data-onsuccess="LinkedInShare"></script> <div class="g-follow" data-annotation="bubble" data-height="20" data-href="https://plus.google.com/116832821661215606670" data-rel="author"></div> <div class="g-plusone" data-size="medium" data-annotation="bubble" data-width="300"></div> <div class="g-plus" data-action="share" data-annotation="bubble"></div> <a href="https://twitter.com/share" class="twitter-share-button" data-url="http://www.zacobria.com" data-via="zacobria" rel="nofollow">Tweet</a> <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script> <a href="https://twitter.com/zacobria" class="twitter-follow-button" data-show-count="true" rel="nofollow">Follow @zacobria</a> <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>

07/12/2018 03:58 AM
Comment on IF Then Else conditions. by Mark
Hello Lars, What exactly is the syntax for a "check continuously if statement"? I'm trying to hook up a digital input that will make the UR10 move to the right while the button is held down and when the user lets go of the said button the arm should stop. I have two threads one to send speedl commands and another to call a stopl command. However, I'm getting a runtime error when I try and implement this. Mark