{"id":2726,"date":"2021-08-22T07:00:36","date_gmt":"2021-08-22T07:00:36","guid":{"rendered":"https:\/\/www.zacobria.com\/universal-robots-knowledge-base-tech-support-forum-hints-tips-cb2-cb3\/?page_id=2726"},"modified":"2023-01-21T05:34:17","modified_gmt":"2023-01-21T05:34:17","slug":"movel-linear-movements","status":"publish","type":"page","link":"https:\/\/www.zacobria.com\/universal-robots-knowledge-base-tech-support-forum-hints-tips-cb2-cb3\/index.php\/movel-linear-movements\/","title":{"rendered":"MoveL (Linear movements)."},"content":{"rendered":"\n<p><a title=\"Visit Zacobria &amp; Webshop &amp; Universal-Robots solutions.\" href=\"https:\/\/www.zacobria.com\/automation\/webshop\/\">Visit Zacobria Webshop<\/a><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">MoveL &#8211; Move the robot in a Linear path.<\/h3>\n\n\n\n<p>By using the example from the MoveJ chapter we will now learn how to make a linear movement.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/www.zacobria.com\/universal-robots-zacobria-forum-hints-tips-how-to\/movel-linear-movements\/universal_robots_zacobria_movel_1\/\"><img decoding=\"async\" src=\"http:\/\/www.zacobria.com\/universal-robots-zacobria-forum-hints-tips-how-to\/wp-content\/uploads\/2012\/12\/universal_robots_zacobria_moveL_1.jpg\" alt=\"universal_robots_zacobria_moveL_1\" class=\"wp-image-262\"\/><\/a><\/figure>\n\n\n\n<p>To learn about the MoveL linear movements we will just continue using the program we created in the last chapter called \u201cMy_first_program.urp\u201d. Maybe you need to Load the program into the controller as described above \u2013 or simply make a new small MoveJ program as explained in previous chapter.<\/p>\n\n\n\n<p>Because we will just change the MoveJ program into a MoveL program.<\/p>\n\n\n\n<p>So you will have this small program on the Screen<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/www.zacobria.com\/universal-robots-zacobria-forum-hints-tips-how-to\/movel-linear-movements\/universal_robots_zacobria_movel_2\/\"><img decoding=\"async\" src=\"http:\/\/www.zacobria.com\/universal-robots-zacobria-forum-hints-tips-how-to\/wp-content\/uploads\/2012\/12\/universal_robots_zacobria_moveL_2.jpg\" alt=\"universal_robots_zacobria_moveL_2\" class=\"wp-image-263\"\/><\/a><\/figure>\n\n\n\n<p>Point on the MoveJ statement and Press so it is highlighted.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/www.zacobria.com\/universal-robots-zacobria-forum-hints-tips-how-to\/movel-linear-movements\/universal_robots_zacobria_movel_3\/\"><img decoding=\"async\" src=\"http:\/\/www.zacobria.com\/universal-robots-zacobria-forum-hints-tips-how-to\/wp-content\/uploads\/2012\/12\/universal_robots_zacobria_moveL_3.jpg\" alt=\"universal_robots_zacobria_moveL_3\" class=\"wp-image-264\"\/><\/a><\/figure>\n\n\n\n<p>If not already in the Command view then &#8211; Press the \u201cCommand\u201d tab.<\/p>\n\n\n\n<p>Then you will see the definition screen for the MoveJ statement. We can also call it the properties for the MoveJ statement.<\/p>\n\n\n\n<p>At the right hand side lower corner is the definition for the MoveJ statement which by default is a nonlinear movement hence the MoveJ statement in our program.<\/p>\n\n\n\n<p>Below is a parameter called \u201cMove Tool Linearly\u201d with a check box \u2013 Check it.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/www.zacobria.com\/universal-robots-zacobria-forum-hints-tips-how-to\/movel-linear-movements\/universal_robots_zacobria_movel_4\/\"><img decoding=\"async\" src=\"http:\/\/www.zacobria.com\/universal-robots-zacobria-forum-hints-tips-how-to\/wp-content\/uploads\/2012\/12\/universal_robots_zacobria_moveL_4.jpg\" alt=\"universal_robots_zacobria_moveL_4\" class=\"wp-image-265\"\/><\/a><\/figure>\n\n\n\n<p>Go back to the Program tree Screen and notice how the MoveJ statement has changed to a MoveL statement.<\/p>\n\n\n\n<p>Remember that the Waypoint_1 and Waypoint_2 is the exact same as in the previous chapter.<\/p>\n\n\n\n<p>Now we can compare the different movement for these two programs.<\/p>\n\n\n\n<p>The programming environment and object to choose in MoveJ and MoveL are the same which is already explained in the previous chapter \u2013 so how to start and run the program is the same.<\/p>\n\n\n\n<p>Run these two programs after each other to compare \u2013 now press start for this MoveL program \u2013 move the robot to the \u201cHome\u201d position and Press start again and see the movement.<\/p>\n\n\n\n<p>Reload the MoveJ program and Run that program.<\/p>\n\n\n\n<p>See the difference ?<\/p>\n\n\n\n<p>See next page.<\/p>\n\n\n\n<p><strong>MoveL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MoveJ<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/www.zacobria.com\/universal-robots-zacobria-forum-hints-tips-how-to\/movel-linear-movements\/universal_robots_zacobria_movel_5\/\"><img decoding=\"async\" src=\"http:\/\/www.zacobria.com\/universal-robots-zacobria-forum-hints-tips-how-to\/wp-content\/uploads\/2012\/12\/universal_robots_zacobria_moveL_5.jpg\" alt=\"universal_robots_zacobria_moveL_5\" class=\"wp-image-266\"\/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/www.zacobria.com\/universal-robots-zacobria-forum-hints-tips-how-to\/movel-linear-movements\/universal_robots_zacobria_movel_6\/\"><img decoding=\"async\" src=\"http:\/\/www.zacobria.com\/universal-robots-zacobria-forum-hints-tips-how-to\/wp-content\/uploads\/2012\/12\/universal_robots_zacobria_moveL_6.jpg\" alt=\"universal_robots_zacobria_moveL_6\" class=\"wp-image-267\"\/><\/a><\/figure>\n\n\n\n<p><strong>MoveL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; MoveJ<\/strong><\/p>\n\n\n\n<p>Notice the difference for a MoveL to a MoveJ movement. The middle picture for the MoveJ shows the tool head out fro the centre line. Whereas the tool head stays at the centreline during the MoveL move.<\/p>\n\n\n\n<p>In pick and place the MoveJ is advisable \u2013 only rarely a MoveL is necessary.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Singularity during MoveL.<\/h2>\n\n\n\n<p>As I described previously when using the MoveL programming method there is a change to run into a Singularity which is an illegal mathematical expression.<\/p>\n\n\n\n<p>To illustrate that I have made a quite stupid program. I am using the exact program as above i.e. only two Waypoints in the MoveL mode. The two waypoints I have chosen are seen below.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/www.zacobria.com\/universal-robots-zacobria-forum-hints-tips-how-to\/movel-linear-movements\/universal_robots_zacobria_movel_7\/\"><img decoding=\"async\" src=\"http:\/\/www.zacobria.com\/universal-robots-zacobria-forum-hints-tips-how-to\/wp-content\/uploads\/2012\/12\/universal_robots_zacobria_moveL_7.jpg\" alt=\"universal_robots_zacobria_moveL_7\" class=\"wp-image-268\"\/><\/a><\/figure>\n\n\n\n<p>Waypoint_1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Waypoint_2<\/p>\n\n\n\n<p>Since I have chosen MoveL I expect that the robot goes in a straight line from Waypoint_1 to Waypoint_2, but notice that it would require the robot to go through the base joint at the centre because the two points are on each side of the base.<\/p>\n\n\n\n<p>But I have been able to make the program and all statements are on green so let\u2019s try to run it.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/www.zacobria.com\/universal-robots-zacobria-forum-hints-tips-how-to\/movel-linear-movements\/universal_robots_zacobria_movel_8\/\"><img decoding=\"async\" src=\"http:\/\/www.zacobria.com\/universal-robots-zacobria-forum-hints-tips-how-to\/wp-content\/uploads\/2012\/12\/universal_robots_zacobria_moveL_8.jpg\" alt=\"universal_robots_zacobria_moveL_8\" class=\"wp-image-269\"\/><\/a><\/figure>\n\n\n\n<p>The robot started to move from Waypoint_1 towards Waypoint_2 in a straight line, but when the physics was in the way the robot showed the phenomena about increasing in speed and then rapid security stopped with \u201cSpeed limit violation\u201d and never reaches Waypoint_2.<\/p>\n\n\n\n<p>Let\u2019s just try and change the above program to a MoveJ program with the same Waypoint_1 and Waypoint_2 positions and run it.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/www.zacobria.com\/universal-robots-zacobria-forum-hints-tips-how-to\/movel-linear-movements\/universal_robots_zacobria_movel_9\/\"><img decoding=\"async\" src=\"http:\/\/www.zacobria.com\/universal-robots-zacobria-forum-hints-tips-how-to\/wp-content\/uploads\/2012\/12\/universal_robots_zacobria_moveL_9.jpg\" alt=\"universal_robots_zacobria_moveL_9\" class=\"wp-image-270\"\/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/www.zacobria.com\/universal-robots-zacobria-forum-hints-tips-how-to\/movel-linear-movements\/universal_robots_zacobria_movel_10\/\"><img decoding=\"async\" src=\"http:\/\/www.zacobria.com\/universal-robots-zacobria-forum-hints-tips-how-to\/wp-content\/uploads\/2012\/12\/universal_robots_zacobria_moveL_10.jpg\" alt=\"universal_robots_zacobria_moveL_10\" class=\"wp-image-271\"\/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"http:\/\/www.zacobria.com\/universal-robots-zacobria-forum-hints-tips-how-to\/movel-linear-movements\/universal_robots_zacobria_movel_11\/\"><img decoding=\"async\" src=\"http:\/\/www.zacobria.com\/universal-robots-zacobria-forum-hints-tips-how-to\/wp-content\/uploads\/2012\/12\/universal_robots_zacobria_moveL_11.jpg\" alt=\"universal_robots_zacobria_moveL_11\" class=\"wp-image-272\"\/><\/a><\/figure>\n\n\n\n<p>The robot runs this program beautifully without any error messages in MoveJ mode because it is allowed to take a bended route from Waypoint_1 and Waypoint_2<\/p>\n\n\n\n<p><strong>Disclaimer:<\/strong> While the Zacobria Pte. Ltd. believes that information and guidance provided is correct, parties must rely upon their skill and judgement when making use of them. Zacobria Pte. Ltd. assumes no liability for loss or damage caused by error or omission, whether such an error or omission is the result of negligence or any other cause. Where reference is made to legislation it is not to be considered as legal advice. Any and all such liability is disclaimed.<\/p>\n\n\n\n<p>If you need specific advice (for example, medical, legal, financial or risk management), please seek a professional who is licensed or knowledgeable in that area.<\/p>\n\n\n\n<p>Author:<br><a href=\"https:\/\/plus.google.com\/u\/0\/116832821661215606670?rel=author\">By Zacobria Lars Skovsgaard<\/a><br>Accredited 2015-2018 Universal Robots support Centre and Forum.<br><br><br><\/p>\n\n\n\n<p><a href=\"https:\/\/twitter.com\/share\">Tweet<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/twitter.com\/zacobria\">Follow @zacobria<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Visit Zacobria Webshop MoveL &#8211; Move the robot in a Linear path. By using the example from the MoveJ chapter we will now learn how to make a linear movement. To learn about the MoveL linear movements we will just&#8230; <\/p>\n<div class=\"more-link-container\"><a class=\"more-link\" href=\"https:\/\/www.zacobria.com\/universal-robots-knowledge-base-tech-support-forum-hints-tips-cb2-cb3\/index.php\/movel-linear-movements\/\">Read More<\/a><\/div>\n","protected":false},"author":1,"featured_media":2481,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"templates\/full-width-page.php","meta":{"footnotes":""},"class_list":["post-2726","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/www.zacobria.com\/universal-robots-knowledge-base-tech-support-forum-hints-tips-cb2-cb3\/index.php\/wp-json\/wp\/v2\/pages\/2726","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.zacobria.com\/universal-robots-knowledge-base-tech-support-forum-hints-tips-cb2-cb3\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.zacobria.com\/universal-robots-knowledge-base-tech-support-forum-hints-tips-cb2-cb3\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.zacobria.com\/universal-robots-knowledge-base-tech-support-forum-hints-tips-cb2-cb3\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.zacobria.com\/universal-robots-knowledge-base-tech-support-forum-hints-tips-cb2-cb3\/index.php\/wp-json\/wp\/v2\/comments?post=2726"}],"version-history":[{"count":4,"href":"https:\/\/www.zacobria.com\/universal-robots-knowledge-base-tech-support-forum-hints-tips-cb2-cb3\/index.php\/wp-json\/wp\/v2\/pages\/2726\/revisions"}],"predecessor-version":[{"id":3104,"href":"https:\/\/www.zacobria.com\/universal-robots-knowledge-base-tech-support-forum-hints-tips-cb2-cb3\/index.php\/wp-json\/wp\/v2\/pages\/2726\/revisions\/3104"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.zacobria.com\/universal-robots-knowledge-base-tech-support-forum-hints-tips-cb2-cb3\/index.php\/wp-json\/wp\/v2\/media\/2481"}],"wp:attachment":[{"href":"https:\/\/www.zacobria.com\/universal-robots-knowledge-base-tech-support-forum-hints-tips-cb2-cb3\/index.php\/wp-json\/wp\/v2\/media?parent=2726"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}